0

我正在实现一个基于Gtk.EventBox. 当我将它插入HBoxorVBox时,它占据了方法返回的确切大小OnSizeRequested

如何让我的小部件占据父框、窗口或小部件给它的所有空间?就像 HBox 一样。

4

2 回答 2

2

在 GTK+2 和 GTK+3 中进行打包的首选方式略有不同。使用 GTK+,您通常会使用a 的expandfill属性GtkBox来控制空间的分配方式。在 GTK+3 中,他们建议用户使用vertical-expand, horizontal-expand, vertical-fill, horizontal-fill

了解包装如何工作的一个好方法是使用 Glade使用填充和扩展属性,以便您可以实时查看效果。一个旧教程(稍微过时)显示了一些不同打包属性的屏幕截图:How_Packing_Effects_the_Layout

当您开发一个小部件时,您的小部件的用户更有可能决定如何将它打包到更大的 UI 中。但是,如果您的小部件是复合小部件(由其他小部件构建),那么您将需要正确打包其他小部件。

于 2011-12-23T04:08:10.897 回答
0

PackStart 和 PackEnd 有一个填充参数来指定应该展开以填充框的项目。你可能想要 PackStart(widget, true, true, 0);

于 2011-12-20T17:02:26.053 回答