2010-03-10 97 views
6

我正在閱讀本教程,它正在幫助我學習tkinter和wxWidgets並行,但我想深入挖掘,所以想知道哪個GUI工具更適合深入學習,爲什麼?tkinter和wxWidgets的利弊?

+0

我從來沒有使用過tkinter,但我用wxWidgets編寫了一個簡單的終端通信GUI,可以在Microsoft Windows和Linux/GTK中工作 - 對結果非常滿意。 – 2010-03-10 10:44:31

回答

14

不可能說哪個「更好」。可以用於最常見的用戶界面任務。

如果我能以某種方式總結一句話,我會試圖說Tkinter設計得更好,使用起來更容易一些,但wxPython功能更豐富,看起來更好看一些。

tkinter優點:python的一部分,沒有額外的下載。非常簡單的語法。文本小部件功能非常強大,非常易於使用。畫布小部件也非常容易和強大。沒有其他工具包提供了與我的經驗中的那兩個小部件相同的輕鬆和功能組合。在Mac和Windows上使用本機窗口小部件。 Tk堅如磐石,缺乏跨平臺的特質。我認爲Tkinter的綁定機制遠遠優於wxPython的;它更加靈活和一致。我認爲Tkinter的三個幾何管理器 - pack,place和grid - 比wxPython sizer更加強大和易於使用。

Tkinter的缺點:使用* nix上盒許多發現離puting序狀部件(儘管一些細緻的調整可以使圖形用戶界面看起來完全可以接受的)。有時很難調試,在他們的核心Tkinter小部件不是python對象; tkinter提供了一個實際的tk小部件的包裝,這有時意味着你會得到奇怪的錯誤信息。幾乎沒有打印支持(您可以從畫布生成postscript文檔,但在文本小工具中沒有內置的支持來打印)。有些人聲稱Tk很醜。 Tkinter不像wxPython那樣「pythonic」。

wxpython專業人員:它有更多的小部件,但通常意味着有三種類型的筆記本小部件,而不是一個廚房水槽小部件。 wxPython小部件是第一類python對象,非常好。 wxPython在* nix機器上通常看起來更好。 wxPython似乎更受歡迎;有些人關心,有些人不關心。 wxPython比Tkinter有更好的打印支持。

wxPython缺點:wxPython需要單獨下載,這在您部署應用程序時可能很難管理。我認爲文件非常薄弱;很難找到具體的信息。 「wPython in Action」一書提供了一個很好的介紹,但不能作爲參考書。 wxPython是一個有點bug的IMO,並且有確定的跨平臺問題。我已經看到wxPython崩潰和打印斷言的方式比Tkinter更頻繁。

+0

嘿,Bryan Python專家!請看看http://stackoverflow.com/questions/23022005/python-tkinter-tree-selection – 2014-04-14 20:33:23

1

如果您是新手,希望選擇其中之一,我強烈建議tkinter因其簡單和有效。 wxPython可以等到你對Python有很好的理解,特別是類和GUI。