2012-10-25 121 views
3

我想学习Python并在Python中尝试一些GUI,并遇到了这个Tkinter模块。我的代码运行,但运行时不会显示窗口。我的代码如下Python Tkinter模块没有显示输出

#GUI 

#from Tkinter import * 
from Tkinter import * 
#to create a root window 
root = Tk() 

任何帮助,将不胜感激。该程序运行,不给出错误,但从/窗口不显示

+2

那是你所有的代码吗?尝试在最后添加'root.mainloop()'。 –

+0

是的,现在workinng现在谢谢...但是我应该把我的按钮放在root.mainloop()之后? – user1581917

回答

6

将此添加到您的代码root.mainloop(),Here's a tutorial

在回答您的评论

#GUI 

#from Tkinter import * 
from Tkinter import * 
#to create a root window 
root = Tk() 
w = Label(root, text="Hello, world!") 
w.pack() 
root.mainloop() 
0

末添加root.mainloop()

2

正如其他答案指出的那样,您需要在根对象上调用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() 

这很容易让你的主要逻辑在文件的开头,并保持根和mainloop呼叫的建立起来,我认为这使代码更容易理解。它也使得重用这段代码变得更容易一些(即:你可以创建一个更大的程序,这是可以创建的几个窗口之一)