在gtk中控制按钮/ hbox大小
问题描述:
我正在使用getk在python中编写应用程序,并且遇到了问题。我正在使用hbox来保存我的工具栏上的按钮(新建,打开,保存等),但hbox似乎正在扩展以占据屏幕的特定部分,并且按钮也在这样做真高又丑。我如何让他们保持在体型上?我已经尝试设置展开和填充值为false,我找不到任何方法来控制一个按钮或一个hbox的大小。以下是我的新按钮的代码:在gtk中控制按钮/ hbox大小
img = gtk.Image()
img.set_from_stock(gtk.STOCK_NEW,gtk.ICON_SIZE_SMALL_TOOLBAR)
newButt = gtk.Button()
newButt.set_image(img)
newButt.show()
self.hBox4.pack_start(newButt, False, False, 0)
答
您需要包含在VBox中整个HBox中,如下所示:
main = gtk.VBox(False)
...
main.pack_start(self.hbox4, False)
这样做的原因是,GTK允许窗口大小调整,所以它不分配固定的高度和宽度。通过使用VBox,您告诉Gtk我希望HBox在窗口顶部占用尽可能多的空间。
希望有所帮助。
答
子窗口小部件将假定它们的父窗口小部件可以提供的分配大小。您应该设置hbox或按钮的大小。
请参阅here用于PyGTK的size_request
方法以获取更多信息。
+0
我已经试过了。我可以把它做得更大,我可以将它水平缩小,但它不会让我垂直缩小。 – user381261 2010-12-14 19:27:16
您应该使用'gtk.Toolbar'来制作一个工具栏,而不是一个hbox。 – ptomato 2010-12-14 16:01:52