我正在尝试学习Python并在Python中尝试使用GUI,并遇到了这个Tkinter模块.我的代码运行但运行时窗口没有出现.我的代码如下
#GUI
#from Tkinter import *
from Tkinter import *
#to create a root window
root = Tk()
Run Code Online (Sandbox Code Playgroud)
任何有关这方面的帮助将不胜感激.程序运行,没有错误,但从/窗口没有显示
将其添加到您的代码中root.mainloop(),这是一个教程.
回应你的评论
#Also note that `from <module> import *` is generally frowned upon
#since it can lead to namespace collisions. It's much better to only
#explicitly import the things you need.
from Tkinter import Tk, Label
root = Tk()
w = Label(root, text="Hello, world!")
w.pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
正如其他答案所指出的,您需要调用mainloop根对象。
我推荐 OO 风格的编程,我也建议不要进行全局导入(即:不是“从 Tkinter 导入 *”)。
这是我通常开始使用的模板:
import Tkinter as tk
class ExampleView(tk.Frame):
def __init__(self, root):
tk.Frame.__init__(self, root)
l = tk.Label(self, text="your widgets go here...", anchor="c")
l.pack(side="top", fill="both", expand=True)
if __name__=='__main__':
root = tk.Tk()
view = ExampleView(root)
view.pack(side="top", fill="both", expand=True)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
这样可以很容易地将主要逻辑保留在文件的开头,并将根的创建和调用保持mainloop在一起,我认为这使代码更容易理解。它还使重用此代码更容易一些(即:您可以创建一个更大的程序,其中这是可以创建的几个窗口之一)