Tkinter:等待用户点击

Posted

技术标签:

【中文标题】Tkinter:等待用户点击【英文标题】:Tkinter : wait for user click 【发布时间】:2017-09-17 21:02:04 【问题描述】:

如何生成一个窗口,并在用户关闭此窗口之前停止 GUI 的执行?

【问题讨论】:

GUI 总是在等待用户点击或输入。您是在问如何等到他们销毁窗口(例如:单击“确定”或“关闭”)? 我猜他是在要求一个模态对话框。如果是这种情况,那么这是 How to create a modal dialog in tkinter? 的副本 我要的是 messagebox.showwarning() 【参考方案1】:

这正是tkinter.messagebox 子模块中的函数所要做的。 这些将产生一个对话框,并暂停执行直到关闭。

例如,showinfo 函数将生成一个窗口,其中第一个参数为标题,第二个参数为消息。 在窗口关闭之前,GUI 的其余部分将无法交互。

这里有一个例子来证明这一点。

import tkinter as tk
import tkinter.messagebox as tkmb

root = tk.Tk()       
button = tk.Button(
    root,
    text="Spawn a dialog",
    command=lambda: tkmb.showinfo(
        "Information",
        "Please close this window or press OK to continue"))
button.pack()

root.mainloop()

单击按钮时,会生成一个窗口。 只要此窗口打开,该按钮将无法再次单击。

【讨论】:

以上是关于Tkinter:等待用户点击的主要内容,如果未能解决你的问题,请参考以下文章

TKinter 教程

用 Tkinter 等待一定的时间

[Tkinter 教程15] event 事件绑定

[Tkinter 教程06] Checkbox 控件

[Tkinter 教程07] Entry 控件

tkinter events format