在Python Tkinter中创建模态对话框需要wait_window()吗?
发布时间:2020-12-16 23:01:52 所属栏目:Python 来源:网络整理
导读:我尝试使用 Python Tkinter创建一个模态对话框.我发现使用和不使用wait_window()之间没有区别. import tkinter as tkdef button_click(): dlg = tk.Toplevel(master=window) tk.Button(dlg,text="Dismiss",command=dlg.destroy).pack() dlg.transient(window
我尝试使用
Python Tkinter创建一个模态对话框.我发现使用和不使用wait_window()之间没有区别.
import tkinter as tk def button_click(): dlg = tk.Toplevel(master=window) tk.Button(dlg,text="Dismiss",command=dlg.destroy).pack() dlg.transient(window) # only one window in the task bar dlg.grab_set() # modal #window.wait_window(dlg) # why? window = tk.Tk() tk.Button(window,text="Click Me",command=button_click).pack() window.mainloop() 我已经看到了一些使用wait_window()来创建模态对话框的例子.所以我不确定是否需要该函数来创建模态对话框. 我正在使用Python 3.5. 解决方法
严格来说,不,不需要wait_window()来创建模态对话框.对话模态的作用是你放在窗口上的抓取.
但是,通常,一旦窗口被破坏,您可能需要运行一些其他代码.您可以使用wait_window()来实现此目的,因为它会在继续之前等待窗口被销毁.然后,您可以在此之后获得代码,例如return语句或一些清理代码.在你的情况下,没有什么可做的,所以你不需要调用wait_window. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |