python的跨平臺的GUI工具庫,較為有名的當屬GTK+、Qt和wxWidgets了。GTK+是C實現的,由于C語言本身不支持OOP,因而GTK+上手相當困難,寫起來也較為復雜艱澀。Qt和wxWidgets則是C++實現的,各自擁有龐大的用戶群體。
這里客觀地搜集了關于Qt和wxWidgets的對比評價。
關于LICENSE
Qt最初由芬蘭的TrollTech公司研發,現在屬于Nokia(沒看錯,就是曾經聞名遐邇的手機巨頭諾基亞),它的背后一直由商業公司支持,奉行的是雙license策略,一個是商業版,一個是免費版。這個策略嚴重限制了Qt的用戶群體。據說Nokia收購之后意識到了這個問題,自4.5版本之后采用了LGPL,開發人員可以發布基于免費Qt庫的商業軟件了。wxWidgets最開始是由愛丁堡(Edinburgh)大學的人工智能應用學院開發的,在1992年開源,一直遵循LGPL。wxWidgets從一開始就是程序員的免費午餐。
關于兼容性
由于Qt使用的是非標準C++,與其它庫的兼容性會存在問題,在每個平臺的圖形界面也并不完全是原生界面(NativeGUI),只是透過theme去模擬系統上的標準GUI,所以看起來很像,有些地方則會明顯看出破綻。Qt的執行速度緩慢且過于龐大則是另一個問題。wxWidgets使用的是標準C++,與現有各類工具庫無縫連接,在不同平臺上也是完全NativeGUI,是真正的跨平臺。
關于服務和支持
由于Nokia的接盤,Qt提供了一系列完整的文檔和RAD工具,并提供最為完整的平臺支持,對于移動終端的支持最為完善。Qt庫也是所有的GUI工具庫中最為面向對象化的,同時也是最為穩定的。wxWidgets因為缺乏很好的商業化支持,開發文檔、資源相對較為匱乏。由于是偏重考慮MFC程序的跨平臺遷移,wxWidgets面向對象封裝做得差強人意。
wxWidgets的主體是由C++構建的,但你并不是必需通過C++才能使用它。wxWidgets擁有許多其它語言的綁定(binding),比如wxPerl,wxJava,wxBasic,wxJavaScript,wxRuby等等,wxPython就是Python語言的wxWidgets工具庫。
以上內容為大家介紹了Python培訓之Qt和wxWidgets怎么樣?,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。