2014-12-22 74 views
0

在我的Python GTK項目中,我遇到了一個簡單按鈕的問題。 我想那個盒子不要在用戶調整大小靈活(或阻止調整大小)PyGTK - 非彈性盒子?

的很好看:

enter image description here

但是,當用戶改變窗口的高度,它應該是這樣的(和按鈕可以消失): the button can disapear..

或這樣的:

...or placed very far.

如何定義固定高度?

我的代碼:

# window 
self.fenetre = gtk.Window(gtk.WINDOW_TOPLEVEL) 
self.fenetre.set_position(gtk.WIN_POS_CENTER) 
self.fenetre.set_border_width(10) 
self.fenetre.set_default_size(self.l, self.h) # l and h can be memorized in a conf file 
self.fenetre.set_icon_from_file("/usr/share/icons/app-ico.png") 
self.fenetre.connect("delete_event", self.destroy) 
[...] 

# notebook, all the other modules are in there 
[...]   
self.insert_notebook() 
self.notebook.show() 

# Nouvelle boite pour le bouton quitter 
boite_quit = gtk.HButtonBox() 
self.box.add(boite_quit) 
boite_quit.set_border_width(10) 
boite_quit.set_layout(gtk.BUTTONBOX_END) 

# Bouton quitter 
bouton = gtk.Button("Enregister et fermer", gtk.STOCK_QUIT) 
bouton.connect("clicked", self.destroy, "bouton B") 
boite_quit.pack_start(bouton, False, False, 0) 
bouton.show() 

boite_quit.show() 
self.fenetre.show() 

感謝

+0

你有什麼理由要這種特殊的行爲? – andlabs

+0

我覺得這個按鈕會保持在同一個地方,而不會消失,這會更好。或者我的問題應該另外出現,比如:'如何爲窗口設置最小尺寸' – Guillaume

回答

1

爲了阻止窗口被調整大小,調用頂層窗口的set_resizable方法帶有false參數:

self.fenetre.set_resizable(False) 

要指定窗口的最小尺寸(同時仍允許調整尺寸爲較大尺寸),在窗口小部件上設置尺寸請求:

self.fenetre.set_size_request(self.l, self.h)