2012-10-25 157 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呼叫的建立起來,我認爲這使代碼更容易理解。它也使得重用這段代碼變得更容易一些(即:你可以創建一個更大的程序,這是可以創建的幾個窗口之一)