只要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()
答案 0 :(得分:2)
您可以在GUI启动后立即使用after_idle
运行某些内容,或者您可以使用after
在短时间内运行它。关于代码是否在显示根窗口之前或之后运行(这可能取决于平台;我不确定),两者的行为略有不同
import tkinter as tk
from tkinter import messagebox
def say_hello(root, message):
tk.messagebox.showinfo("Info", message)
root = tk.Tk()
root.after(1, say_hello, root, "Hello, world")
root.mainloop()