国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
GTK+, Qt, wxWidgets 比較簡評

http://yuanmuqiuyu2000.blog.sohu.com/101517012.html

//這位臺灣的高手把GTK+, Qt, wxWidgets比較分析得相當(dāng)?shù)轿?。明顯,MFC注定將淡出江湖了。

[心得] 知名 GUI lib 簡評 (GTK+, Qt, wxWidgets)
之前因為把 MFC 痛罵了一頓,有網(wǎng)友在詢問其他 GUI toolkit
所以小弟分享一下個人對三大知名圖形介面 library 的簡短評論
純屬個人主觀意見,不是業(yè)界人士,所知有限,望先進前輩不吝指正或補充

先講 GTK+
GTK+ 主要用在 X Window 上,整個設(shè)計的架構(gòu)和許多概念和 MFC 以及一般 Windows 上
的程式開發(fā)大異其趣,入門門檻較高,而且最主要的特色是,他用不具有物件功能的純
"C" 語言,模擬物件導(dǎo)向。 所以寫起來比較復(fù)雜艱澀,而且充滿大量巨集,使用和除錯
都不是很容易,但優(yōu)點則是可以用 C,不需 C++,如果和 Win32 SDK 比較,不會難學(xué)
多少,缺點是不易上手使用,而且文件比較缺,架構(gòu)又非常復(fù)雜,且提供的東西比起其他
無所不包的 library,是簡陋了一點,函數(shù)命名又臭又長。 對於簡單的程式,GTK+ 會
顯得太復(fù)雜,但是當(dāng)你開始想擴充其他 library 也都沒提供的進階功能,就會開始贊嘆
GTK+ 的架構(gòu)嚴(yán)謹(jǐn),還有超乎想像的高度彈性。 同樣的東西要用 MFC 來做反而會要人命
并且多國語言的支援良好,內(nèi)部也全面使用 UTF-8,相容性好,又是 unicode
能夠習(xí)慣的話,GTK+ 值得推薦,但沒有很建議學(xué),畢竟不好學(xué),要用到熟會需要比
較久,而且那樣很多 C++ 的功能會用不到。 GTK+ 有 C++ 版本叫做 GTK--,沒用過
但看文件覺得,并沒有比 gtk+ 簡單到哪里去。 因為 gtk+ 本來就是物件導(dǎo)向,所以
即使換了 c++ 語言,寫起來架構(gòu)還是差不多的。 另外,gtk+ 有 Windows 版本,但缺
點是,執(zhí)行緩慢,不穩(wěn)定,而且介面是使用 gtk+ 自己的,不是使用 Windows 內(nèi)建的
"Native" 原生圖形介面,看起來會不太習(xí)慣。 Mac OS X 下可用 X11 來執(zhí)行 gtk+
但那樣出來的程式是長得像 UNIX 程式,而不是美美的 OS X Aqua 外觀

wxWidgets 和 MFC 最接近,命名習(xí)慣或架構(gòu)都高度相似,會 MFC 幾乎不用重新學(xué)習(xí)
有十余年歷史,此外,他的物件封裝比 MFC 要好,提供的功能也多上太多,又跨平臺
一般知名的 MFC 程式都會選擇用 wxWidgets 改寫,來快速移植原程式到其他平臺
例如 eMule 用 wxWidgets 移植出 aMule, xMule, 還在開發(fā)中的 Filezilla 3...等
而他最主要的特色是,他是"跨平臺"的 "Native" GUI toolkit,在各種平臺上都可寫出
使用該平臺內(nèi)建 Native 原生圖形介面的程式。 在 Windows 上就長得跟其他 Windows
程式一樣,在 Linux 下就使用 gtk+ 的圖形介面,在 Mac OS X 下就可以使用華麗的
Aqua 外觀風(fēng)格,這點是非常強悍。 不像 gtk+ 到其他系統(tǒng)都還是只能用 gtk+ 自己的
缺點是,中文支援在有些地方會出問題,例如剪貼簿的操作。 得自己 patch
但仍然相當(dāng)推薦,即使是個龐大的 library,效能依舊不會太差,尤其在 Windows 上
執(zhí)行速度并不輸 MFC,與其學(xué) MFC,不如學(xué) wxWidgets。

Qt 的功能,應(yīng)該是這三者加上 MFC 之中最強大的,文件也很完整,又有 RAD 工具
可以輔助開發(fā),并且有商業(yè)公司做強力后盾。不但有 Windows/X Window/Mac 版本,
甚至還有嵌入式系統(tǒng)可用的版本,穩(wěn)定性還不錯,物件封裝也算良好,資源比 GTK+ 或
wxWidgets 多得非常多,而且發(fā)行公司提供了相當(dāng)多范例,算是一家以開放原始碼成功
營利的模范公司。 知名的 KDE 整個是用他開發(fā),證明了他的穩(wěn)定性和強大功能。
缺點是如果你用他開發(fā)非 GPL 開放程式碼的軟體,必須以極昂貴的金額,購買商業(yè)
版本。 而他的圖形介面并不完全是 "Native GUI",只是透過 theme 去模擬系統(tǒng)上的
標(biāo)準(zhǔn) GUI,所以看起來很像,卻會有些地方可以明顯看出破綻。 執(zhí)行速度緩慢還有過於
龐大則是另一個問題。 雖然封裝得很良好文件也齊全,并不代表他就很容易學(xué)
還有一個嚴(yán)重問題是,他寫的不是標(biāo)準(zhǔn) C++,他使用的 signal/slot 機制必須透過 Qt
提供的 preprocessor 處理過才可以轉(zhuǎn)送給編譯器,這部份可能被限定用 qmake,算是
一個可惜的地方,不過瑕不掩瑜,還是很推薦。忘了說,他內(nèi)部也是 unicode,
多國語言沒問題。

以上三套只是簡單介紹,其中 Qt 的程式我沒有實際完整開發(fā)過,但明顯的三套都遠(yuǎn)遠(yuǎn)比
只能在 Windows 上用,功能少 Bug 多難學(xué)難用幾乎無多國語言支援的 MFC 要強。
三套可跨平臺的 library 大家可自行選擇,只能用在 Windows 的 MFC 就不用考慮了

 

wxWidgets 內(nèi)帶 wxodbc,可惜 wxd 目前并沒有包裝它。

 

總結(jié):wxWidgets性能及ui最好,Qt最大最全,GTK+架構(gòu)及擴展性最好

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
幾種出色的C/C++ GUI函數(shù)庫的介紹
MFC、WTL、WPF、wxWidgets、Qt、GTK 各有什么特點
亂評GUI開發(fā)框架未來走向
在桌面Linux環(huán)境下開發(fā)圖形界面程序的方案對比
WxWidgets與其他工具包的比較(15種方案)
Cross-Platform GUI Library 介紹
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服