大家好,我是A8U神經網絡,今天又要跟大家分享一下wxWidgets開發神經網絡程序界面的一些經驗,希望對開發有興趣的朋友有所幫助。
跨平台的GUI工具庫以GTK +,Qt和wxWidgets聞名。 GTK +是用C實現的。由於C語言本身不支持OOP,因此GTK +入門非常困難,並且更加復雜且難以編寫。 Qt和wxWidgets用C ++實現,每個都有大量的用戶群。盡管我喜歡wxWidgets,但我已盡可能客觀地收集了Qt和wxWidgets的客觀比較。
wxWidgets絡關於許可
Qt最初是由芬蘭的TrollTech開發的,后來賣給了諾基亞(沒錯,曾經是著名的手機巨頭諾基亞)。 2012年,Digia完全從諾基亞手中收購了QT的技術平台和知識產權。 QT背后總是得到商業公司的支持。它追求雙重許可策略,一個是商業版本,另一個是免費版本。這種策略嚴重限制了Qt的用戶基礎。據說諾基亞在收購后已經意識到了這個問題。從4.5版開始,LGPL被采用,開發人員可以基於免費的Qt庫發布商業軟件。 wxWidgets最初是由愛丁堡大學的人工智能應用學院開發的。它於1992年開源,一直遵循LGPL。從一開始,wxWidgets便是程序員的免費午餐。
wxWidgets關於兼容性
由於Qt使用非標准的C ++,因此與其他庫的兼容性會出現問題,並且每個平台上的圖形界面都不完全是本機GUI,而是僅通過主題模擬系統上的標准GUI。看起來非常相似,但是在某些地方存在明顯的缺陷。 Qt執行緩慢且過大是另一個問題。 wxWidgets使用標准C ++並與各種現有工具庫無縫連接。它也是在不同平台上的完全本機GUI,並且是真正的跨平台。后記於2019年11月4日:網友donwmufromdying提醒Qt不再存在兼容性問題。為了避免產生誤導,進行了這種解釋。
wxWidgets關於服務和支持
由於諾基亞的接機,Qt提供了一系列完整的文檔和RAD工具,並提供了最完整的平台支持以及對移動終端的最完整支持。在所有GUI工具庫中,Qt庫也是面向對象最穩定的。由於wxWidgets缺乏良好的商業化支持,因此開發文檔和資源相對稀缺。由於強調了MFC程序的跨平台遷移,因此wxWidgets面向對象的包裝並不令人滿意。wxWidgets的主體是用C ++構建的,但是您不必通過C ++即可使用它。 wxWidgets具有許多其他語言綁定,例如wxPerl,wxJava,wxBasic,wxJavaScript,wxRuby等。wxPython是Python的wxWidgets工具庫。
wxWidgets窗口程序的基本框架
無論是py2還是py3,在python世界中的安裝都變得非常容易。如果在Windows平台上工作,建議同時安裝pywin32模塊。 pywin32允許您使用python開發諸如VC之類的win32應用程序。更重要的是,我們可以使用它直接控制win32程序,捕獲當前窗口,獲得焦點等。
如果您有互聯網問題,也可以咨詢我,謝謝!如果你也想一起學習人工智能,歡迎留言交流。原文:用python首選的GUI庫wxPython做程序界面