我正在编写一个系统托盘,其大小在运行时确定(并且可能因调整大小而更改),我想调整托盘图标的大小,以便它们扩展到容器对象的大小他们被安置了。
我实际上已经按照以下方式使用这个方法来注册gtk_image小部件的大小分配信号,并为其分配一个pixbuf,其大小与提供的回调函数中分配给此图像小部件的高度相匹配。
此方法的唯一问题是,这似乎不会触发图像窗口小部件的大小调整(即使我显式调用了widget_set_size_request),这会导致此问题:调用widget_queue_draw或widget_queue_resize图像和包含框无法改善此问题,但调用已弃用的函数gtk_container_resize_children
可解决此问题:
我的问题是
你可以在这里找到有问题的实际代码,但它是用haskell编写的,所以如果你不熟悉这种语言可能很难理解:
答案 0 :(得分:0)
查看implementation of gtk_container_resize_children
,您似乎应该能够通过调用gtk_widget_get_allocated_size
和gtk_widget_allocate_with_baseline
来替换它,而这些调用在GTK + 3中均未被弃用。