2012-06-29 27 views
1

我試圖添加一個進度條到我的Tkinter GUI中,並且我一直受到一個問題的阻礙,那就是我不是100%確定如何定義的。我的程序設置在這個激情中。Tkinter類調用問題

class MAIN(object): 
    def __init__(self, *args, **kwargs) 
     tkinter stuff... 

root = tk.Tk() 
app = MAIN(root) 
app.mainloop() 

然後我嘗試使用this示例(它自己工作)添加進度。而這個代碼就是這樣設置的。

class MAIN(tk.Tk): 
    def __init__(self, *args, **kwargs) 
     tk.Tk.__init(self, *args, **kwargs) 
     tkinter stuff.... 

app = MAIN() 
app.mainloop() 

如果我更改這兩個程序中的任何一個來獲取其他格式,它們會拋出錯誤。理想情況下,我希望能夠保留我的格式(第一個格式),並能夠以我的格式運行示例,這樣我就不必更新大量遺留代碼。

幫助/解釋將不勝感激。

編輯:這是錯誤。

TypeError: unbound method __init__() must be called with Tk instance as first argument (got SampleApp instance instead) 
+0

那麼......什麼錯誤?我甚至不知道什麼是錯的。你沒有提供足夠的信息讓任何人都能夠回答這個問題。我*做*看到你可能會在第二行的第3行得到一個'AttributeError'。 –

+0

@TylerCrompton對不起,錯誤已添加到帖子中。 – deadstump

+0

@deadstump在回答而不是編輯中回答自己的問題是很好的禮儀。寫一個答案,然後經過一段時間後,接受它,這樣很明顯這個問題已經解決了。 – Wilduck

回答

0

我的問題是,我不明白在類的繼承,並在我的節目之前試圖用進度條沒有必要的tk.Tk.__init__任何修改。因此,該問題的解決方案是將class MAIN(object):替換爲class MAIN(tk.Tk):,如在工作示例中那樣。我的進度條仍然無法正常工作,現在還有另一個窗口,但該程序正在運行。