[問題] wxWidgets與Qt

看板C_and_CPP作者 (丁丁)時間13年前 (2010/10/02 20:09), 編輯推噓4(408)
留言12則, 6人參與, 最新討論串1/5 (看更多)
一直想學寫視窗程式 但又不想用C#(寫好的程式要執行需有.Net Framework的環境才行&被微軟綁住) 於是查了wxWidgets與Qt的比較: (以下摘自 http://blog.udn.com/keithmin/679610 ) wxWidgets 和 MFC 最接近,命名習慣或架構都高度相似,會 MFC 幾乎不用重新學習有十 餘年歷史,此外,他的物件封裝比 MFC 要好,提供的功能也多上太多,又跨平台一般知 名的 MFC 程式都會選擇用 wxWidgets 改寫,來快速移植原程式到其他平台例如 eMule 用 wxWidgets 移植出 aMule, xMule, 還在開發中的 Filezilla 3...等 而他最主要的特色是,他是"跨平台"的 "Native" GUI toolkit,在各種平台上都可寫出 使用該平台內建 Native 原生圖形介面的程式。 在 Windows 上就長得跟其他 Windows程 式一樣,在 Linux 下就使用 gtk+ 的圖形介面,在 Mac OS X 下就可以使用華麗的Aqua 外觀風格,這點是非常強悍。 不像 gtk+ 到其他系統都還是只能用 gtk+ 自己的缺點是 ,中文支援在有些地方會出問題,例如剪貼簿的操作。 得自己 patch但仍然相當推薦, 即使是個龐大的 library,效能依舊不會太差,尤其在Windows 上執行速度並不輸 MFC, 與其學 MFC,不如學 wxWidgets。 Qt 的功能,應該是這三者加上 MFC 之中最強大的,文件也很完整,又有 RAD 工具可以 輔助開發,並且有商業公司做強力後盾。不但有 Windows/X Window/Mac 版本,甚至還有 嵌入式系統可用的版本,穩定性還不錯,物件封裝也算良好,資源比 GTK+ 或wxWidgets 多得非常多,而且發行公司提供了相當多範例,算是一家以開放原始碼成功營利的模範公 司。 知名的 KDE 整個是用他開發,證明了他的穩定性和強大功能。 缺點是如果你用他開發非 GPL 開放程式碼的軟體,必須以極昂貴的金額,購買商業版本 。 而他的圖形介面並不完全是 "Native GUI",只是透過 theme 去模擬系統上的標準 GUI,所以看起來很像,卻會有些地方可以明顯看出破綻。 執行速度緩慢還有過於龐大 則是另一個問題。 雖然封裝得很良好文件也齊全,並不代表他就很容易學還有一個嚴重 問題是,他寫的不是標準 C++,他使用的 signal/slot 機制必須透過 Qt提供的 preprocessor 處理過才可以轉送給編譯器,這部份可能被限定用 qmake,算是一個可惜 的地方,不過瑕不掩瑜,還是很推薦。忘了說,他內部也是 unicode,多國語言沒問題。 文章裡說Qt不容易學,但是文件、資源多 wxWidgets聽說目前也只有一本紙本的原文書 小弟觀望了好一陣子 還是不知道要學哪一個 看了他們的比較,越看越不曉得適合學哪一種@@ 不知道板上有沒有人 能給些建議? 還是...不要想這麼多,隨便亂數挑一個學下去就對了?? ps.小弟英文弱弱的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.65.21

10/02 20:12, , 1F
你說得那本wxWidget有簡體翻譯版 翻得不錯
10/02 20:12, 1F

10/02 20:13, , 2F
關鍵字 使用wxWidgets进行跨平台程序开发
10/02 20:13, 2F
※ 編輯: bil193 來自: 140.113.65.21 (10/02 20:16)

10/02 20:45, , 3F
Qt 現在也有LGPL授權,開發私有軟體也可以不用購買商業版
10/02 20:45, 3F

10/02 20:49, , 4F
Qt沒有限定一定要qmake不可,你可以選擇自己喜歡的建構
10/02 20:49, 4F

10/02 20:50, , 5F
工具,像KDE就用cmake
10/02 20:50, 5F

10/02 20:52, , 6F
Qt 的資料太舊了,被 Nokia 買去以後就有 LGPL 可以選擇。
10/02 20:52, 6F

10/02 20:52, , 7F
我只知道VLC是從wxWidget跳去 Qt XD
10/02 20:52, 7F

10/02 20:53, , 8F
而且 GUI emulation 怎麼會慢?有點詭異。
10/02 20:53, 8F

10/02 20:54, , 9F
這三套toolkit都不錯,個人是不太喜歡寫C++ code,所以只
10/02 20:54, 9F

10/02 20:54, , 10F
用 gtk。
10/02 20:54, 10F

10/02 23:49, , 11F
wxWidgets 才是王道 看起來很像MFC 但好寫很多
10/02 23:49, 11F

10/05 19:20, , 12F
謝謝樓上大大的回答
10/05 19:20, 12F
文章代碼(AID): #1Cfo3ob- (C_and_CPP)
文章代碼(AID): #1Cfo3ob- (C_and_CPP)