如何在使用后关闭tkinter按钮窗口?

时间:2016-12-09 02:44:53

标签: python tkinter

from tkinter import *

master = Tk()

def managerMode():
    print ("Connecting to Manager Mode... please wait")

def employeeMode():
    print ("Connecting to Employee Mode... please wait")

b = Button(master, text="Manager Mode", command = managerMode)
b.pack()
c = Button(master,text="Employee Mode", command=employeeMode)
c.pack()

mainloop()

这是我的代码,我打算在用户选择其中一个选项“管理员模式”或“员工模式”时关闭包含模式类型的窗口。如何继续关闭按钮窗口?

1 个答案:

答案 0 :(得分:0)

使用destroy方法。

import tkinter
from tkinter import ttk

class MyApp:
    def __init__(self):
        self.root = tkinter.Tk()

    def startman(self):
        self.root.destroy() # like this
        self.root = tkinter.Tk()
        self.root.title('Manager Mode')

        self.backbutton = ttk.Button(self.root, text='Back', command=self.startmenu)
        self.backbutton.grid(column=0, row=0, sticky='nsew')

        self.root.mainloop()

    def startemp(self):
        self.root.destroy() # or this
        self.root = tkinter.Tk()

        self.root.title('Employee Mode')

        self.backbutton = ttk.Button(self.root, text='Back', command=self.startmenu)
        self.backbutton.grid(column=0, row=0, sticky='nsew')

        self.root.mainloop()

    def startmenu(self):
        self.root.destroy() # or this
        self.root = tkinter.Tk()
        self.root.title('Mode Selection')

        self.manbutton = ttk.Button(self.root, text='Manager Mode', command=self.startman)
        self.empbutton = ttk.Button(self.root, text='Employee Mode', command=self.startemp)

        self.manbutton.grid(column=0, row=0, sticky='nsew')
        self.empbutton.grid(column=0, row=1, sticky='nsew')
        self.root.mainloop()

    def run(self):
        self.startmenu()

MyApp().run()