GTK 與QT的對比

2022-10-11 06:27:09 字數 2700 閱讀 5607

想看看圖形介面系統的優缺點,**了網友整理的: 

gtk+的優點與qt的優點整理

在嵌入式 linux 下有很多圖形介面系統 gui,包括 qt/embedded,fltk,microwindows 和 gtk+ 等。作為乙個開發者,到底使用什麼樣的 gui 系統呢?對乙個系統,將它改造為符合你的需求,你要做多少修改呢?修改後的系統的尺寸一般會有多大呢?這些都是開發人員會遇到的問題。我們在這裡討論的就 是要對這些內容做乙個具體細緻的分析,通過我們的討論,大家會對基於 gtk+ 和 x 的 gui 在嵌入式linux

下的應用有乙個確切的了解。

正文在嵌入式系統應用日益發展的今天,越來越多的應用都需要使用到 gui 來進行開發,以此來獲得更好的互動性。

嵌入式 linux 下 gui 的選擇,對大多數開發人員來說是乙個需要權衡對比的過程。選擇 gtk+ 執行在 x 系統上,然後 x 系統執行在嵌入系統的 framebuffer 上,這會是乙個很好的選擇。

gtk+ 與 x 的優點

當然,gtk+ 與 x 一般都是被大家考慮為體積較大的桌面系統的好搭配,但實際上對於嵌入系統來說,它也有著諸多的優點:

1、 x-window 系統與 gtk+ 都非常穩定可靠,x-window 系統是經歷了長期的開發及應用實踐的,gtk+ 也是乙個比較成熟的開放源**專案;

2、 x-window 系統是乙個靈活的 client/server 的模型結構,乙個應用客戶端的崩潰不會影響到圖形系統的其他部分,這是乙個很重要的特性,它有利於支援第三方應用的擴充套件開發,而不影響到主體部分;

3、 gtk+有兩個重要的庫:gdk和glib。gdk抽象了底層的視窗管理,要移植 gtk+ 到另乙個不同的視窗系統的話,我們只需要移植 gdk 就可以了。glib 是乙個工具集合,它包括了資料型別,各種巨集定義,型別轉化,字串處理,任何應用程式都可以鏈結這個 glib 庫,使用其中的各種資料型別、方法,來避免重複**,或者說避免開發人員重新發明輪子,這樣有利於減少整個系統的尺寸;

4、 對 gtk+/x 的裁剪是很容易的,它們有著很好的可配置的選項,有著清晰的**結構,可以保證安全正確地去掉大段的不需要的**;

5、 gtk+ 有著大量的應用,gtk+ 已經被用在了很多重要的應用系統中;

6、 gtk+ 的授權是 lgpl 方式的,x 是 non-copyleft free license 的,第三方開發的系統都能與它們進行鏈結;

7、gtk+/x 二者都是基於 c **的,而不是c++;

8、 gtk+ 使用 c 來實現了物件導向的架構;

其他 gui 系統

其他可以選擇的圖形系統包括:qt/embedded,fltk 和 microwindows。

1、 qt/e 是其中較高階的,它是乙個完整的,基於 framebuffer 的 gui 系統,由 trolltech 公司開發;

2、 qt/e 有著高效的圖形渲染效果,還包括 truetype 字型系統,及 alpha blending 半透明處理;

3、 但 qt/e 不是使用 lgpl 授權方式,而是使用兩種授權方式:開發使用 gpl,而商用需要授權與版稅;

4、 qt/e 是用 c++ 編寫的;

5、 qt/e 非常大,乙個 ipaq qpe 就包括了 3.3mb 的 qt/e 庫和乙個 718kb 的 qpe 庫(和 xlib 類似的一種庫);

6、 qt/e 不夠穩定,qpe demo 不錯,但出現過崩潰;

7、 fltk (the fast light toolkit) 是乙個小型的 gui 圖形系統,它也是用 c++ 寫的,特性太少,應用範圍較少,不夠成熟;

8、 microwindows 和 x-window 相比也是乙個不錯的選擇,它占用大約 100kb-600kb 大小的記憶體,和檔案儲存空間,雖然已經有了乙個其上的 gtk+ 移植,但還是不夠成熟;

x-window:比你想象的要小很多

對於x-window系統,廣大的網路開發者已經做了大量的工作來減小其的尺寸,最知名的有tinyx。可以通過對不需要的**的裁剪及去除xlib中靜態資料來減少總體的尺寸,如:color管理系統,弧形,粗線條等。

在 大多數開發人員的印象裡,x 系統很龐大,但實際上,你聽到的,是那些對 x 不夠了解的人的一種誤解。在經過裁剪後的情況下,gtk+/x 要比 gtk+/fb 與 qt/e 還要來得有效,且 xlib 對一般的應用程式有著更好的支援作用,應用程式的開發會變得更高效。

--------------------------------------------

qt優點

:1、跨x11, win32, mac三個平台並且是二進位制原生**的(比j**a和.net程式快得多)(源**級移植)

2、有個十分好使用的工程管理工具qmake((相比較wxwidget, gtk+等而言,非常地方便開發)

3、在常用的x11, win32平台既有開源版,又有商業版,供不同的用途使用。又有公司的商業支援,開發正規。有kde(包括koffice, kdevelop等)這樣典型的的成功運用的專案,使人放心。隨著

qt4.0開源版的發布,kde向windows的移植已經確定,由此,kdevelop,

koffice等一大批kde下面的軟體也就能移植過去, 有了kdevelop,kwrite等,windows下

qt的應用將很快多起來,也更加方便開發,我在期待著kdevelop移植到windows,以解決windows下的用

qt開發的ide問題。 

4、有方便的嵌入式圖形介面開發方面的解決方案

就目前而言,確實比gtk+, wxwidget, mono等方便好使

GTK 與MFC不完全對比

mfc 已經江河日下,日漸式微,而 gtk 可謂欣欣向榮,如日中天。這裡無意於落井下石,痛打落水狗,貶 mfc而尊 gtk 自己即在使用 mfc也在使用 gtk 不會偏袒其中之任何一方。這個對比完全出於個人對兩者的理解,說它是不完全對比,一方面只是一時興起想做個筆記而已,另外一方面我對兩者的理解也是...

GTK 與MFC不完全對比

gtk 與mfc 不完全對比 mfc 已經江河日下,日漸式微,而gtk 可謂欣欣向榮,如日中天。這裡無意於落井下石,痛打落水狗,貶mfc而尊gtk 自己即在使用mfc也在使用gtk 不會偏袒其中之任何一方。這個對比完全出於個人對兩者的理解,說它是不完全對比,一方面只是一時興起想做個筆記而已,另外一方...

GTK 與MFC不完全對比

1.兩者都是基於物件導向設計的。儘管mfc是用c 寫的,而gtk 是用c寫的,但思想都是物件導向的。gtk 使用glib的物件機制,由於用c寫的,其實現相對有點繁瑣。2.兩者都是基於訊息驅動的。這是gui系統的共性,訊息可以是 硬體上報的,如滑鼠事件 鍵盤事件和觸控螢幕等等,也可以是程式產生,如乙個...