Tkinter小部件没有出现

时间:2012-12-28 00:10:24

标签: python-2.7 widget tkinter

我正在测试我正在编写的应用程序,但我只是得到一个空白窗口而没有小部件。

from Tkinter import*
class App(Frame):

def _init_(self, master):

    frame = Frame(master)
    frane.pack()

    self.instruction = Label(frame, text = 'Password:')
    self.instruction.pack()

    self.button = Button(frame, text = 'Enter', command = self.reveal)
    self.button.pack()


root = Tk()
root.title('Password')
root.geometry('350x250')
App(root)
root.mainloop()

1 个答案:

答案 0 :(得分:3)

你有一些错别字。第一个是构造函数方法的名称:

def _init_(self, master):

应阅读:

def __init__(self, master):

请注意双下划线 - 请参阅the docs for Python objects

第二个在你的构造函数中:

frane.pack()

您还缺少App类中名为'reveal'的方法的声明:

self.button = Button(frame, text="Enter", command=self.reveal)

工作示例如下:

from Tkinter import *

class App(Frame):

    def __init__(self, master):
        Frame.__init__(self, master)
        self.pack()

        frame = Frame()
        frame.pack()

        self.instruction = Label(frame, text="Password:")
        self.instruction.pack()

        self.button = Button(frame, text="Enter", command=self.reveal)
        self.button.pack()


    def reveal(self):
        # Do something.
        pass


root = Tk()
root.title("Password")
root.geometry("350x250")
App(root)
root.mainloop()

另请参阅:The Tkinter documentation