Linux的GTK 值得學嗎?還有MFC和Qt呢?

時間 2021-05-29 22:56:36

1樓:readlnh

你看看除了gnome,gtk+有什麼大型應用?gtk+的跨平台性簡直就是個笑話,api也難用的要死,和qt完全沒有可比性。gui是非常非常需要oop思想的,gtk+強行用c語言來物件導向,在結構體裡面套一大堆東西,給人的心智造成極大的負擔。

你當然可以反駁我說Linux也是這麼做的,你覺得難是你技術不行。那你大可選擇磨練你的「技術」,浪費時間糾結一些無謂的細節。硬要用gtk+,我也選擇vala和gtk-rs,其實vala確實不錯,語法類似c#,用來寫影象介面很好用,可惜,以gtk社群的尿性,7,8年了連個能用的ide都沒有,每天把幾個api折騰來折騰去,說好的gtk+4也是一再跳票,縮放也是至今只能整數倍...

嘖嘖,關於gtk+和qt,可以看看lxqt的作者的演講,是個台灣人,基本把兩者的優缺點都講得很透徹了。說實話,要不是qt過去有協議問題,連gnome都不會用gtk+...

2樓:

Gtk不是很了解

Qt跨平台,功能龐大,設計略吊,但是比較臃腫,雖然有qtLite能進行模組閹割,但還是臃腫,但如果Qt只做win平台的話,一般不會對windows底層有比較深入的理解

MFC=沒飯吃(通常意義上),MFC已經好像快15年沒有更新了吧,還不如學.net,但MFC的核心優勢是能比較充分了解windows底層的機制

不過我發現乙個很有趣的現象

一般以稍大齡的研究生、博士領頭的初創團隊,團隊專案多以機械、精密儀器、光學等,都是大量使用MFC的

3樓:

從設計思想上說,MFC和WxWidgets是差不多的,都是老老實實使用C++的已有特性來實現自己的功能,大量使用了巨集來實現事件/訊息對映。

QT使用預處理器的方式,漂亮的實現了物件元資訊(一定程度上的反射特性)、訊號/槽、屬性系統等等,使得C++也像現代語言一樣易於使用了。加上它內部大量的功能包裝,基本上可以說有了QT就不需要那些業務無關的亂七八糟的庫了。

GTK不太了解,只知道是基於C語言實現的介面庫,內建了物件導向的機制。並且現在在GLIBC的基礎上有了一門新的語言,叫VALA,語法和C#很像,可以編譯為C語言,開發效率執行效率兼備。

4樓:羅然

從學術的角度來說gtk非常值得一學,你可以感受一下C語言,這種面向過程的語言是如何實現物件導向的設計,特別是它繼承和多型簡直讓人大呼過癮。

其次作為介面庫它並沒有詬病的那麼不堪,gtk+3.x支援的runtime過程中動態載入xml來渲染介面也是讓人覺得屌炸天。不足在於控制項沒有qt漂亮(事實上非常醜陋)。

但是它足夠輕量,你可以非常方便的呼叫第三方庫元件,這一點相比qt算是優勢,qt呼叫某些第三方庫元件容易搞出依賴風暴或者相容性問題(衝突)。

qt的優勢就是功能全面,體系龐大,開發快,開發爽,文件和示例都很多。當然他的設計思想也很屌,也很值得一學,C++繫結。你需要的常用功能基本上都有容納,你不需要東拼西湊各種類庫來實現各種功能,但是部署打包遠沒有gtk方便。

而且qt的軟體個頭太大,特別是到qt5之後,這樣非常不利於推廣,特別是對體積有嚴格要求的軟體比如瀏覽器,輸入法等等。

看你個人是對純C感興趣還是對C++感興趣,這兩個都很值得一學。

MFC就算了,你會吐的,相信我。

學C語言時需要學Linux嗎?

bleedingfight 不需要先學linux,但是純學C,聯絡一些語法,在linux下無疑是非常方便的,你只需要linux系統,啥都不需要,vim gcc就可以開始愉快的開發了。啥ide都不需要。 hinayand 看你的需要,如果你想用VS用來開發 Windows絕對是你的菜 畢竟如果你不用M...

大學生花時間折騰linux值得嗎?

Victor King 看你怎麼折騰了,如果就是美化桌面,裝個小程式什麼的,超過一周就是浪費時間了。如果是深入進去,做個伺服器,在Linux上面做你的作業等等,那麼還是很有價值的 如果能在Linux上面做個你喜歡的專案,幫助你參加一些比賽什麼的,那就更好了 總之,與你的學習有關的,就是值得 花裡胡哨...

花大價錢學古琴值得嗎?

OgiDogi 藝術這種東西是看天賦的,有天賦的話練上5年十年肯定是能有所成績的。騙術這種東西也是看天賦的,有天賦的話現在就可以開始變現了。 小管兒 我感覺學樂器如果不是專業的,普通人學就是一般用來娛樂吧,如果你熱愛,那就就值得。如果你猶豫了,那就多等幾天,再看自己還想學不,你覺得呢? 亂麻 不知道...