2012-05-12 60 views
3

我正在創建一個簡單的Tkinter GUI。然而,事情似乎正在走向失控。實際上沒有任何東西被「包裝」到框架中。任何人都可以發現我做錯了什麼嗎? (除因使用「從Tkinter的進口*」的問題,而且顯然未有用的「do_nothing()」功能。遇到錯誤; Tkinter GUI使用python

#/usr/bin/python 
from Tkinter import * 

class gui: 
    def __init__(self, parent): 
     f = Frame(parent, width=300, height=500) 
     f.pack(padx=30, pady=15) 

     self.label = Label(f, text="Japanese Trainer") 
     self.label.pack(side=TOP, padx=10, pady=12) 

     self.txtlbl = Entry(f, justify=CENTER, text="", font=("Calibri", 15, "bold"), width=37) 
     self.txtlbl.pack() 
     self.txtlbl.grid(row=1, rowspan=2, sticky=E, pady=10, padx=40) 

     self.button0 = Button(f, text="Kana Trainer", width=20, command=self.do_nothing) 
     self.button0.pack() 
     self.button0.grid(row=3, rowspan=2, sticky=W, pady=10, padx=40) 

     self.button1 = Button(f, text="Vocab Trainer", width=20, command=self.do_nothing) 
     self.button1.pack() 
     self.button1.grid(row=3, rowspan=2, sticky=E, pady=10, padx=40) 

    def do_nothing(self): 
     self.txtlbl.delete(0, END) 
     self.txtlbl.insert(END, "Command did nothing...") 


root = Tk() 
root.title('Eg.') 
app = gui(root) 

root.mainloop() 

回答

1

您在同一主窗口混合gridpack。你可以用」每個人都可能調整他們管理的小部件的大小,並且每個人都會響應他們管理的小部件的大小調整,所以,包會調整大小以適應小部件,網格會識別更改並嘗試調整小部件的大小以適合打包將認識到這一變化並嘗試調整窗口小部件的大小以適應......導致無限循環

您可以將packgrid一起用於相同的p程序,但你不能用它們來管理同一個容器。