Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何在GUI启动后立即运行函数?_Python 3.x_Tkinter_Ttk - Fatal编程技术网

Python 3.x 如何在GUI启动后立即运行函数?

Python 3.x 如何在GUI启动后立即运行函数?,python-3.x,tkinter,ttk,Python 3.x,Tkinter,Ttk,一旦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

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

您可以使用
after\u idle
在GUI启动后立即运行某些内容,也可以使用
after
在短时间后运行它。在显示根窗口之前还是之后运行代码方面,两者的行为略有不同(这可能取决于平台;我不确定)


你在self.init\u gui()中有什么?如果您有另一个
Tk()
实例或无限循环,这可能会导致问题。不,网格中只有一堆小部件。应用程序在一开始没有mbox的情况下运行良好,但我需要向用户显示一个信息对话框,该对话框应该可以访问“self”变量。您的原始代码中是否有这种输入错误
如果mycheck=True
应该是
=
安装一个。不,我复制时是打字错误。但问题并不存在。主要问题是:一旦GUI显示出来,如何在没有用户任何操作的情况下运行函数?
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()