2010-12-14 91 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