你好 , 我Qt的初學者 , 我在官網下載Qt時感覺很迷茫 , 不知道要下載哪個, 麻煩你寫他們之間的不同點:
Qt 5.2.0 for Windows 32-bit (MinGW 4.8, OpenGL, 689 MB)
Qt 5.2.0 for Windows 32-bit (VS 2010, 570 MB) 、
Qt 5.2.0 for Windows 32-bit (VS 2010, OpenGL, 569 MB)、
Qt 5.2.0 for Windows 32-bit (VS 2012, 579 MB)
這四個首先是編譯器的區別:第一個是MinGW;第二、三個是VS2010;第四個是VS2012。標記有OpenGL的含義是使用OpenGL后端;否則的話使用ANGLE后端。ANGLE是Google發起的一個開源項目,旨在將OpenGL ES 2.0 API映射到DirectX 9 API。如果你的應用程序使用了不包含在OpenGL ES中的OpenGL API;或者需要運行在Windows XP平台,那么需要選擇OpenGL版本(讀書筆記:意思是說OpenGL版本是全版本,自帶所有API);否則的話,如果不想要求用戶安裝最新的顯卡驅動,需要使用QtMultimedia模塊的回放功能,就要選擇ANGLE版本(讀書筆記:好像是說使用Windows本地API會更優秀)。
目前移動端的體驗個人認為並不好,Android 方面不是很了解,但是 iOS 的表現並不非常理想,主要原因在於 Qt 在 iOS 的控件表現並不是 iOS 原生樣式,而是類似 win32 那種樣式,這樣與平台不一致的表現是不會通過 App Store 的審核的(當然,你可以自己實現樣式,或是其它方案,但這樣的工作量無疑很大)。目前還不了解是否有體驗很好、具備實際應用價值的 app。至於桌面,Qt 的表現應該還不錯,比起 gtk 和 wxWidgets 這類純社區驅動的庫,Qt 的商業支持也會加不少分。移動端跨平台,現階段不妨考慮下 PhoneGap 之類的,可能會有更好的表現。不過按照 Qt 現在的發展勢頭,有可能會在未來時間做到更好的支持。
真不是吹捧……但我無以言表我對閣下的贊許。QT5是一個偉大的框架,底層的兼容和抽象封裝一定相當困難,這就注定了短時期內根本不會有替代者,java的ui毫無體驗性,cairo等等只是繪制沒有toolkit,opengl只是規定。完整的跨平台甚至可以跨上移動端的gui框架,如今只有qt,在商業市場是遇到重重障礙,但終究這貨攜帶着次世代的標准算是產出來了。這個系列是qt中文圈(尤其是qt5亦即尤指cutting edge性)是絕無僅有的,所以多謝了。
參考:http://www.devbean.net/2012/08/qt-study-road-2-intro/
--------------------------------------------------------------------------
我在Qt中有一個項目,包含了3個子項目,其中有兩個子項目是app,一個是lib庫,能不能將所有的qrc資源放入lib庫中,然后在兩個app中調用資源呢。如果可以的話是怎么實現的呢?主要是因為兩個app需要用到公用的qrc文件中的樣式表文件方便統一UI。
如果沒有理解錯誤的話,應該是可以的。做法是,將整個 app 的 pro 文件的 TEMPLATE 設置為 subdirs,CONFIG += orders,SUBDIRS 按照需要的編譯順序添加:lib、app1、app2。然后在 app1 和 app2 的 pro 文件中加入 LIBS += ../lib (注意按需修改路徑) 即可。可以參考下 Qt Creator 的源代碼設計,以及http://www.devbean.net/2012/01/a-qt-pro-design-method/ 這篇文章。