如何在 GUI 启动后立即 运行 一个函数?

How to run a function as soon as GUI started?

只要 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()

您可以在 GUI 启动后立即使用 after_idle 到 运行 某些东西,或者您可以使用 after 在短暂的一段时间后将它 运行时间。关于显示根 window 之前或之后的代码 运行s,两者的行为略有不同(这可能取决于平台;我不确定)

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()