【发布时间】:2017-06-28 13:36:04
【问题描述】:
我需要在 tkinter GUI 可用后立即运行检查功能。我尝试使用以下代码,但出现的 Messagebox 没有响应,我无法按下 OK 按钮。
import tkinter.messagebox as mbox
import tkinter
from tkinter import ttk
class MQ(ttk.Frame):
def __init__(self, parent, *args, **kwargs):
ttk.Frame.__init__(self, parent, *args, **kwargs)
self.root = parent
self.init_gui()
if mycheck=True:
mbox.showinfo("Title","message")
...
...
if __name__ == '__main__':
root = tkinter.Tk()
MQ(root)
root.mainloop()
【问题讨论】:
-
self.init_gui()中有什么?如果你有另一个Tk()实例或无限循环,这可能会导致问题。 -
不,网格中只有一堆小部件。应用程序在开始时没有那个 mbox 可以正常工作,但我需要向用户显示一个信息对话框,该对话框应该可以访问“self”变量。
-
您的原始代码中有那个错字吗?
if mycheck=True应该是==instad 的单个。 -
不,我复制的时候打错了。但问题不存在。它在 MessageBox 中,仍然卡住且无响应。
-
主要问题是:如何在没有用户任何操作的情况下,在 GUI 显示后立即运行函数?
标签: python-3.x tkinter ttk