加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读