Re: [問題] wxWidgets與Qt

看板C_and_CPP作者 (C語言)時間13年前 (2010/10/03 21:14), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串3/5 (看更多)
那就是 QT 越來越肥了, 這我以前編的 arm-linux 的版本 用舊版的QT -rwxr-xr-x 1 root root 2.0M Mar 27 2009 libQtCore.so.4.3.1* -rwxr-xr-x 1 root root 2.5M Mar 27 2009 libQt3Support.so.4.3.1* -rwxr-xr-x 1 root root 7.1M Mar 27 2009 libQtGui.so.4.3.1* 差不多11M, 如果加上其他雜七雜八的lib總共約14M 然後 wxwidgets 加上雜七雜八的最多 12M, 這個版本應該算還蠻新的版本 印象中這是我今年年初抓到的版本 -rwxr-xr-x 1 root root 180K Jun 11 09:50 libwx_base_xml-2.8.so.0.7.0* -rwxr-xr-x 1 root root 214K Jun 11 09:50 libwx_x11univ_qa-2.8.so.0.7.0* -rwxr-xr-x 1 root root 241K Jun 11 09:50 libwx_base_net-2.8.so.0.7.0* -rwxr-xr-x 1 root root 553K Jun 11 09:50 libwx_x11univ_aui-2.8.so.0.7.0* -rwxr-xr-x 1 root root 843K Jun 11 09:50 libwx_x11univ_html-2.8.so.0.7.0* -rwxr-xr-x 1 root root 887K Jun 11 09:50 libwx_x11univ_xrc-2.8.so.0.7.0* -rwxr-xr-x 1 root root 1022K Jun 11 09:50 libwx_x11univ_adv-2.8.so.0.7.0* -rwxr-xr-x 1 root root 1.5M Jun 11 09:50 libwx_x11univ_richtext-2.8.so.0.7.0* -rwxr-xr-x 1 root root 1.6M Jun 11 09:50 libwx_base-2.8.so.0.7.0* -rwxr-xr-x 1 root root 5.2M Jun 11 09:50 libwx_x11univ_core-2.8.so.0.7.0* 12240(12M) 當然最省得還是 minigui, 這似乎是免錢的最後一版 -rwxr-xr-x 1 root root 131K Jan 2 2010 libvcongui-1.6.so.10.0.0* -rwxr-xr-x 1 root root 418K Jan 2 2010 libmgext-1.6.so.10.0.0* -rwxr-xr-x 1 root root 3.5M Jan 2 2010 libminigui-1.6.so.10.0.0* 包的越多越慢, QT應該是比較慢的, 但是對程式人來說寫起來會快一點, wxWidgets 的話,架構有像MFC,所以有一魚兩吃的功效, 不過一般是會MFC就會 wxWidgets, 不過會 wxWidgets 還是會覺得MFC比較複雜一點 然後 qt 和 wxwidgets 都可用其他語言如 perl/python 來撰寫 不過有沒有持續在維護與改版似乎是一個問題 ※ 引述《freesamael (燒賣)》之銘言: : ※ 引述《bil193 (丁丁)》之銘言: : : 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。 : 沒用過 wxWidgets,不過它發展歷史悠久了也很成熟,使用者也不少。 : 我同意最後一句話,如果不選 .net 要用 MFC 的話,可能乾脆用 wxWidgets 就好了。 : : Qt 的功能,應該是這三者加上 MFC 之中最強大的,文件也很完整,又有 RAD 工具可以 : : 輔助開發,並且有商業公司做強力後盾。不但有 Windows/X Window/Mac 版本,甚至還有 : : 嵌入式系統可用的版本,穩定性還不錯,物件封裝也算良好,資源比 GTK+ 或wxWidgets : : 多得非常多,而且發行公司提供了相當多範例,算是一家以開放原始碼成功營利的模範公 : : 司。 知名的 KDE 整個是用他開發,證明了他的穩定性和強大功能。 : : 缺點是如果你用他開發非 GPL 開放程式碼的軟體,必須以極昂貴的金額,購買商業版本 : : 。 而他的圖形介面並不完全是 "Native GUI",只是透過 theme 去模擬系統上的標準 : : GUI,所以看起來很像,卻會有些地方可以明顯看出破綻。 : 這是有誤的。在 Mac OS X 和 Windows 上 Qt 都是與 Platform SDK 連結,具有 : native look&feel,尤其在 Mac 上也已經從舊的 Carbon 轉移到新的 Cocoa 了。 : 至於在 Linux 上,Qt 本來就是 native GUI,不過可以套 gtk+ theme 讓它看起來 : 比較像 gtk+ 應用程式,在 gnome 下會比較不突兀。 : : 執行速度緩慢還有過於龐大 : : 則是另一個問題。 雖然封裝得很良好文件也齊全,並不代表他就很容易學還有一個嚴重 : : 問題是,他寫的不是標準 C++,他使用的 signal/slot 機制必須透過 Qt提供的 : : preprocessor 處理過才可以轉送給編譯器,這部份可能被限定用 qmake,算是一個可惜 : : 的地方,不過瑕不掩瑜,還是很推薦。忘了說,他內部也是 unicode,多國語言沒問題。 : : 文章裡說Qt不容易學,但是文件、資源多 : Qt 的設計良好,如果你有一點 OO 的底子的話會學很快,我自己在設計上遇到困難的 : 時候也經常參考 Qt 的作法,特別是有跨平台的 c++ 實做需求的時候。 : 我覺得 Qt 應該參考了不少 Java 的設計精神,在許多地方可以看到相似處。 : 至於速度嘛,沒有跨 tool widgets 的 benchmark,很難判斷。一般認為 Qt 比 gtk+ : 慢一些。現在學 Qt 還有個附帶的好處,就是 Qt 在 Symbian/Maemo/MeeGo 上都已 : 成為主要的 tool widget,也支援 Windows Mobile 6 (WP7 禁止原生程式,所以未來 : 還不明朗),你可以順便跨進行動裝置應用程式的撰寫。 : Qt 一直在長大,功能越來越豐富。Qt 4.7 開始加入 Qt Quick (QML),可以用類似 css : 的方式敘述 UI,搭配 JavaScript 撰寫程式邏輯。除此之外 Qt 也是 Python 的主要 : GUI binding 之一,選擇性很多。前面有人提到 Qt 已經有 LGPL 版,而 Nokia 甚至 : 還因為 PyQt 沒有 LGPL 的選項而正在重刻一套 PySide,好讓 Python 的使用者也能 : 以 LGPL 授權使用 Qt。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.57.131.154

10/05 19:20, , 1F
謝謝您的回答
10/05 19:20, 1F
文章代碼(AID): #1Cg87FKT (C_and_CPP)
文章代碼(AID): #1Cg87FKT (C_and_CPP)