繁体   English   中英

为什么我的 TKinter GUI 代码可以在交互式 shell 中工作,但从文件中运行时却不能?

[英]Why does my TKinter GUI code work from interactive shell, but not when run from a file?

我正在尝试使用我的一些具有命令行界面的代码并为它们提供 GUI。 但是,我遇到了一个问题。 任何人都可以帮助我理解为什么当我从文件中运行我的代码时,没有任何反应,但是如果我以交互方式运行它,它可以正常工作吗? 下面是一个简单的例子。 顺便说一句,我在 Windows 10 上运行 Python 3.8.1。提前致谢!

import tkinter as tk
import tkinter.ttk as ttk
#--------------------------
window = tk.Tk()
window.title('Test Window')
window.geometry('1000x800') 

这是因为您没有调用mainloop函数。 Tkinter 以交互方式运行时会自动处理事件,但在不以交互方式运行时需要显式启动事件循环。 您的代码正在运行,但因为您从未告诉它开始侦听它在文件末尾退出的事件,就像任何其他 python 脚本一样。

您应该添加window.mainloop()作为文件中的最后一行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM