获得wdget的大小
时间: 2024-02-13 11:00:19 浏览: 15
要获得widget的大小,可以使用widget的`get_size()`方法,该方法返回一个包含widget宽度和高度的`Gtk::Requisition`对象。可以使用以下代码示例:
```c++
#include <iostream>
#include <gtkmm.h>
int main(int argc, char *argv[])
{
// 初始化GTK库
auto app = Gtk::Application::create(argc, argv);
// 创建一个窗口
Gtk::Window window;
window.set_default_size(200, 200);
// 创建一个Label
Gtk::Label label("Hello World!");
window.add(label);
// 显示窗口和组件
label.show();
window.show();
// 等待窗口显示完成
app->hold();
// 获取Label的大小
Gtk::Requisition req = label.get_size();
std::cout << "Label width: " << req.width << std::endl;
std::cout << "Label height: " << req.height << std::endl;
// 取消窗口等待
app->release();
// 进入主事件循环
return app->run(window);
}
```
在这个示例中,我们首先创建了一个窗口,并将其设置为默认大小。然后,创建了一个Label,并将其添加到窗口中。接着,使用`hold()`方法等待窗口显示完成,然后使用`get_size()`方法获取Label的大小,并将其输出到控制台上。最后,使用`release()`方法取消等待,启动主事件循环以显示窗口和组件。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)