如何使widget占据Gtk.HBox中的所有可用空间
我正在实现一个定制的Gtk小部件,它基于如何使widget占据Gtk.HBox中的所有可用空间,gtk,gtk#,gtk2,Gtk,Gtk#,Gtk2,我正在实现一个定制的Gtk小部件,它基于Gtk.EventBox。当我将其插入HBox或VBox时,它占用了OnSizeRequested方法返回的确切大小 如何使我的小部件占据父框、窗口或小部件提供给它的所有空间?就像HBox一样。PackStart和PackEnd有一个fill参数,用于指定应该展开以填充框的项目。您可能需要PackStart(widget,true,true,0) GTK+2和GTK+3中的首选包装方式略有不同。使用GTK+时,您通常会使用GtkBox的expand和fil
Gtk.EventBox
。当我将其插入HBox
或VBox
时,它占用了OnSizeRequested
方法返回的确切大小
如何使我的小部件占据父框、窗口或小部件提供给它的所有空间?就像HBox一样。PackStart和PackEnd有一个fill参数,用于指定应该展开以填充框的项目。您可能需要PackStart(widget,true,true,0) GTK+2和GTK+3中的首选包装方式略有不同。使用GTK+时,您通常会使用
GtkBox
的expand
和fill
属性来控制空间的分配方式。使用GTK+3,他们建议用户使用垂直扩展
,水平扩展
,垂直填充
,水平填充
了解打包工作原理的一个好方法是使用填充和展开特性,以便可以实时查看效果。旧教程(稍微过时)显示了不同包装属性的一些屏幕截图:
在开发小部件时,小部件的用户更有可能决定如何将其打包到更大的UI中。但是,如果您的widget是一个复合widget(从其他widget构建),那么您需要正确地打包其他widget