当我创建subwindow (toplevel)
时,我无法通过单击关闭主窗口。我必须点击十字架,然后按照我所谓的函数times(+1)
进行确定:
import tkMessageBox
from Tkinter import *
def cross():
if tkMessageBox.askokcancel(u"Quit ATTA Convertor ?", "Are you sure you want to close the window ?"):
mainwin.quit()
def about():
subwin = Toplevel(mainwin)
subwin.mainloop()
mainwin = Tk()
mainwin.protocol("WM_DELETE_WINDOW", cross)
mainMenu = Menu(mainwin)
mainMenu.add_command(label="about...", command=about)
mainwin.config(menu=mainMenu)
mainwin.mainloop()
答案 0 :(得分:1)
因为你曾两次打电话给mainloop()
。移除对subwin.mainloop()
的呼叫,您不需要它。正确的tkinter程序应该只调用mainloop()
一次。
答案 1 :(得分:0)
您正在运行2个主循环事件。您应该删除about()
方法中的那个。
def about():
subwin = Toplevel(mainwin)
#subwin.mainloop() <- Remove this