2010-12-14 64 views
2

我正在使用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) 
+0

您应该使用'gtk.Toolbar'来制作一个工具栏,而不是一个hbox。 – ptomato 2010-12-14 16:01:52

回答

2

您需要包含在VBox中整个HBox中,如下所示:

main = gtk.VBox(False) 
... 
main.pack_start(self.hbox4, False) 

这样做的原因是,GTK允许窗口大小调整,所以它不分配固定的高度和宽度。通过使用VBox,您告诉Gtk我希望HBox在窗口顶部占用尽可能多的空间。

希望有所帮助。

0

子窗口小部件将假定它们的父窗口小部件可以提供的分配大小。您应该设置hbox或按钮的大小。

请参阅here用于PyGTK的size_request方法以获取更多信息。

+0

我已经试过了。我可以把它做得更大,我可以将它水平缩小,但它不会让我垂直缩小。 – user381261 2010-12-14 19:27:16