Tkinter - 显示带有选项和更改密码按钮的对话框

时间:2017-05-04 11:58:59

标签: python tkinter tk

我使用名为Thonny的python程序。它曾用于制作另一个说“你已经把它变成主要应用程序”的盒子,但我现在删除了那段文字。我希望它显示一个选项按钮和一个更改密码按钮。这是代码:

    import tkinter as tk

    class Mainframe(tk.Tk):
        def __init__(self):
            tk.Tk.__init__(self)
            self.frame = FirstFrame(self)
            self.frame.pack()

        def change(self, frame):
            self.frame.pack_forget() # delete currrent 
            frame = frame(self)
            self.frame.pack() # make new frame

    class FirstFrame(tk.Frame):
        def __init__(self, master=None, **kwargs):
            tk.Frame.__init__(self, master, **kwargs)

            master.title("Enter password")
            master.geometry("300x200")

            self.status = tk.Label(self, fg='red')
            self.status.pack()
            lbl = tk.Label(self, text='Enter password')
            lbl.pack()
            self.pwd = tk.Entry(self, show="*")
            self.pwd.pack()
            self.pwd.focus()
            self.pwd.bind('<Return>', self.check)
            btn = tk.Button(self, text="Done", command=self.check)
            btn.pack()
            btn = tk.Button(self, text="Cancel", command=self.quit)
            btn.pack()

        def check(self, event=None):
            if self.pwd.get() == 'password':
               self.master.change(SecondFrame)
            else:
                self.status.config(text="Wrong password")

   class SecondFrame(tk.Frame):
        def __init__(self, master=None, **kwargs):
            tk.Frame.__init__(self, master, **kwargs)
            master.title("Main application")
            master.geometry("600x400")
        def options_button(self):
            def set_password(self):
                    e = tk.Entry(master, show="*", textvariable=self.password_set2)
                    e.pack()
                    but1 = tk.Button(self, text="Done", command=self.password_set)
                    but1.pack()
            b = tk.Button(self, text="Set your password", command=self.set_password)
            b.pack()
            c = tk.Button(self, text="Options", command=self.options_button)
            c.pack()



    if __name__=="__main__":
        app=Mainframe()
        app.mainloop()

This is What is not working. This is what it originally did

0 个答案:

没有答案