【发布时间】:2021-10-07 23:04:50
【问题描述】:
在 Tkinter 中,我想在初始化进程以运行另一个 Python 脚本时创建一个窗口,然后在脚本完成时关闭该窗口。以下是我目前所拥有的:
window = tk.Toplevel()
window.geometry("400x90")
window.wm_title("Process is Running")
process = subprocess.Popen("python3 run_a_script.py", shell=True)
process.wait()
window.destroy()
脚本正在运行,但从未出现弹出窗口。如果我删除window.destroy(),它确实会在脚本完成后出现,但它不会自动关闭。
有没有办法在 run_a_script.py 运行之前创建窗口,然后在脚本完成时自动关闭?
【问题讨论】:
-
window.destroy() 是脚本的最后一行吗?好像是这样,它符合您的要求;窗口在脚本结束时关闭。
-
这段代码其实是一个按键触发的函数,但是是的,函数到此结束。但是,按钮缩进(就像它被按下一样)并在 run_a_script.py 运行时保持缩进。当 run_a_script.py 完成时,不会出现弹出窗口。所以,我相信它是在脚本运行后创建然后销毁窗口。
-
您能否提供 run_a_script.py - 它可能只是在运行脚本,然后它运行得非常快,以至于它在创建后不久就关闭了。