如何防止小部件扩展到整箱(GTK 2)

时间:2015-01-08 18:16:55

标签: c user-interface widget gtk gtk2

我在GTK2上遇到以下问题:

我在水平方框内创建了两个带标签的按钮。 (我打算堆几个hboxes) 然而,还有一个问题:当我制作box_pack函数时,它们会像这样:

gtk_box_pack_start(GTK_BOX(hbox1), button1, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(hbox1), button2, FALSE, FALSE, 0);

尽管它们都是假的,但按钮仍然垂直扩展,使得" hbox1" ocupy父盒子上留下的所有空间。我希望按钮只能扩展到标签正确显示所需的最小高度(就像通常在垂直框上一样)。

我听说在GTK3中您可以使用 gtk_widget_set_vexpand gtk_widget_set_hexpand 函数。但是,这些似乎并不存在于GTK2中,因为它们已被认可....

任何解决方案? (不仅仅是水平方框的情况,而是垂直方框中的相应情况)

2 个答案:

答案 0 :(得分:0)

如果我理解正确,你需要另一个hbox表现得像一个扩展器,或多或少像这样:

|button|spander|

所以,当你展开时:

|button|            spander|

按钮仍处于最小尺寸....

是你要求的吗?

答案 1 :(得分:0)

这是一个较老的问题,但很重要。简而言之,将有问题的小部件的 valign 属性设置为 Gtk.Align.CENTER,正如@user7537486 对原始问题的评论所说。希望能解决!