如何获得widget的尺寸
如何获得toolbar, image等控件的当前尺寸, 使用gtk_widget_size_request试过,得到的不是当前尺寸
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何获得toolbar, image等控件的当前尺寸, 使用gtk_widget_size_request试过,得到的不是当前尺寸
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
你的思路一开始就错了。
gtk里有自己的size negotiation。
每个GtkWidget在决定自己大小的时候会首先查看所有child的size request,通过child的request决定自己的request。
然后一直传到最顶层窗口,它根据所有子widget的size_quest和自己的default size,根据自身的是gtkbin还是gtkvbox还是gtkhbox,使用gtk_widget_size_allocate分配每个child的大小。
然后再一层层size_allocate下去。
我不知道gtk里有没有你需要的GtkContainer,没有的话,自己从GtkBin派下来一个widget,重载size_quest和size_allocate,
在这两个函数里设置image的大小。
参考 http://developer.gnome.org/doc/G ... SEC-SIZENEGOTIATION
我就是希望得到实际的尺寸,比如说,当我调整窗口大小时,我希望能够得到窗口中image的大小,这样我就可以根据image的尺寸对其中的图像进行缩放.但是在窗口调整大小触发的事件中我只能得到当前窗口的大小
gtk中默认的控件的大小?干嘛要用它默认的大小??在最开始的时候你自己给它定义一个大小,用gtk_widget_set_size_request ()函数来设置,然后大小你不就知道了,等到你想要变大或变小的时候你就给它变一下就好了。
看下
可以使用widget的allocation获得尺寸, 但是我在window的configure-event中获得尺寸,感觉不太对,需要事件完成后才会设置子元素,应该在什么事件中获得呢?
我的目的只有一个,就是在调整窗口大小时,将窗口中的image控件中的图片进行缩放,以适应窗口大小,但是不知道如何知道窗口分配给image的尺寸是多少