2010-09-01 44 views
0

這段代碼工作正常,並在長長的列表中產生checkbuttons。tkinter in python。 .pack工程,但.grid什麼也沒有產生

def createbutton(self,name): 
    var = IntVar() 
    account = name[0] 
    chk = Checkbutton(self.root, text=account, variable=var) 
    chk.pack(side = BOTTOM) 
    self.states.append((name,var)) 

的問題是按鈕的名單是這麼長時間,它綿延我的屏幕更遠那麼長,所以我希望把它們放入一個格子,這樣我可以有一列中,也許10 checkbuttons 。只是爲了測試功能,我這樣做:

def createbutton(self,name): 
    var = IntVar() 
    account = name[0] 
    chk = Checkbutton(self.root, text=account, variable=var) 
    chk.grid(column=0) 
    self.states.append((name,var)) 

沒有任何反應,沒有tk接口打開,程序正在等待。請幫忙!

+1

嗯..這段代碼應該可以工作。你能提供整個代碼嗎? – 2010-09-01 16:35:17

+0

我明白了。在代碼的其他地方有一個.pack,tkinter不喜歡兩個都放在同一個主機上。謝謝! – Alex 2010-09-01 20:29:36

回答

1

您是否有可能位於根窗口中的其他小部件,並且它們使用包放在那裏?如果您嘗試在同一個容器中使用包和網格,您的應用可能會進入無限循環,因爲每個管理員都在爭奪容器的控制權。

+0

你是對的。我在發佈之前就明白了這一點。我在其他代碼中導致了這種情況。謝謝!! – Alex 2010-09-01 20:27:19

相關問題