2015-06-17 23 views
0

我附加了我的代碼,以便您可以看到是否可以識別問題。一切正常,且窗口彈出,但按鈕控件無法顯示:當我單擊我的代碼的運行模塊時,窗口小部件未顯示

from Tkinter import * 

class Application(Frame): 
    """Login""" 

def _init_(self, master): 
      self.master = master 

def create_widgets(self): 
    btn1 = Button(self.master, text = "Login") 
    btn1.pack() 

    btn2 = Button(self.master, text = "Sign Up") 
    btn2.pack() 

    btn3=Button(self.master, text = "Exit") 
    btn3.pack() 


root = Tk() 
root.title("Parent Pool") 
root.geometry("500x500") 
app = Application(root) 
root.mainloop() 
+1

請確保此處的縮進與您的腳本中的縮進相同。 –

+0

縮進與原始腳本相同,但我只是彈出GUI窗口,但沒有窗口小部件 – pythoncoder500

+0

如果問題中的代碼與腳本中的代碼完全相同,它將不會運行全部歸因於縮進錯誤。 –

回答

2

你忘了打電話給create_widgets。而你的def需要在課堂上縮進。

from Tkinter import * 

class Application(Frame): 
    """Login""" 

    def __init__(self, master): 
     self.master = master 

    def create_widgets(self): 
     btn1 = Button(self.master, text = "Login") 
     btn1.pack() 

     btn2 = Button(self.master, text = "Sign Up") 
     btn2.pack() 

     btn3=Button(self.master, text = "Exit") 
     btn3.pack() 

root = Tk() 
root.title("Parent Pool") 
root.geometry("500x500") 
app = Application(root) 
app.create_widgets() 
root.mainloop() 

順便說一句,你_init_功能將不會當你創建一個應用程序實例調用。如果你想要這個行爲,你需要命名它__init__。 (即使_init_從不運行,因爲Frame.__init__在實例化過程中被稱爲回退,並通過重合創建主屬性),您的按鈕仍然可以引用self.master

相關問題