准備工作:首先,最不可思議的,是要在Linux下把QT編譯一遍,因為庫都是一樣的,需要的就是一些Windows下的qmake、moc、uic之類的工具而已。因為QT源碼很多地方不能在Windows下面交叉編譯通過,雖然我改了一些代碼和配置(一會兒我貼出補丁來),但我只用它編譯了qtbase、qtdeclarative這兩個模塊和qttools模塊中的一部分。
Linux下的編譯可以參照我之前寫的這篇文章。參考配置:
開發包:
./configure -extprefix /opt/qt/5.2.1/arm -prefix /usr -plugindir /usr/lib/qt/plugins -importdir /usr/lib/qt/imports -qmldir /usr/lib/qt/qml -make libs -xplatform linux-arm-gnueabi-g++ -opengl es2 -confirm-license -opensource -xcb -xinput2 -nomake examples -nomake tests -qt-zlib -qt-xcb -dbus -largefile -cups -no-fontconfig -glib -gtkstyle -qt-freetype -sysroot /opt/sysroot-arm -mysql_config /opt/sysroot-arm/usr/bin/mysql_config -v
2. Qtsocket編程問題 QSocketDevice在哪個頭文件里順便,寫這種程序要包含哪些頭文件
這個最新的版本沒有這個東西,我找了,找不到,只有QSocketDevice這個類有,具體對應的頭文件在<Q3Support/q3socketdevice.h>
3. Qt如何包含大量復雜路徑的頭文件 / 查查362
例如我要使用boost,boost是源代碼,不是.lib文件。
只能把boost文件夾復制進QT5.1自帶的庫的目錄裡面?? qtcreator 庫
[解決辦法]
源代碼要加入工程 或者 編譯成庫文件再鏈接
[解決辦法]
Qt添加庫文件和頭文件目錄(QCreator)(轉載)
[解決辦法]
引用:Quote: 引用:
源代碼要加入工程 或者 編譯成庫文件再鏈接
會不會編譯的時候把整個boost庫都編譯了?自己控制了
[解決辦法]
1、INCLUDEPATH 加上去。
2、將目錄拷貝到Qt include目錄下面。
推薦第一種。
4. qt5.4 都添加了什麼
一、Qt GUI方面:
1、QOpenGLContext已能夠適配現有的native context(如EGL,GLX等)。這使得Qt可以跟其他框架交互,例如游戲引擎。
2、提高對OpenGL ES 3.0/3.1的支持。如果編譯Qt庫時打開「-opengl es2」選項,高版本的ES頭文件會自動包含在Qt的頭文件中。已經通過GLES3的介面支持Vertex array objects、 framebuffer blits 、 multisampling。
3、在Windows平台只要編譯Qt庫時打開 -opengl dynamic選項,那麼基於該Qt庫的應用程序在運行時可以動態地決定選用哪個OpenGL實現版(opengl32.dll 或者 ANFLE『s OpenGL ES2.0)。不必為了使用不同的OpenGL而分別編譯程序。
4、QOpenGLWidget:替代了原來的QGLWidget以及QQuickWidget中相應部分。
5、QOpenGLWindow:由於該類的存在,很方便的通過OpenGL將內容繪制到QWindow。
6、QRasterWindow:由於該類的存在,很方便的通過基於軟體實現的QPainter將內容繪制到QWindow。
·「譯註:不支持硬體加速的情況下,QPainter使用Raster純軟體的方式繪制圖形」
7、支持「10位顏色通道」的圖像(10-bit per color channels)。盡管Raster引擎內部只使用8位顏色通道,這些圖像仍可以被渲染。如果被用作QOpenGLFramebufferObject的內部格式,在OpenGL驅動支持的情況下,OpenGL引擎可以全精度渲染。
8、WinRT:加入了對「原生文件對話框」的支持。
二、Qt Core
1、WinRT:加入對「native settings container」的支持。·「譯註:沒用過WinRT,不清楚作者指的是什麼」
2、QStorageInfo:該類可以提供當前掛在的分區或設備的信息。
3、QByteArrayList:就像QStringList與QList<QString>,QByteArrayList在QList<QByteArray>之上添加里類似的額外功能。
4、QTabletEvent:添加了指示「哪些stylus button被按下」的信息;「rotation與tangentialPressure」在各平台有一致的范圍;類似的事件還包括「stylus的類型」或其他在用的工具。為了提供更好的檢測機制,改進了手工測試和調試的輸出。
·「譯註:沒學習過移動開發,stylus button、tangentialPressure是個what?不理解其含義,翻譯可能不正確。」
三、Qt Widgets
1、改進了基於DPI的widget縮放。
四、Qt Quick:
1、QQuickRenderControl,可以高效的在framebuffer中渲染QtQuick2畫面。然後這些內容既可以被Qt OpenGL渲染器使用,也可以被第三方OpenGL渲染器使用。
2、對於ListView的頭和尾,引入了覆蓋和拖回操作(overlay and pull back)。
3、添加了QQuickFontMetrics類,該類提供「QFontMetricsF所含API」的子集。
4、添加里QQuickTextMetrics類。
5、Android平台現在也支持QQuickWidget。
五、Qt Quick Controls
1、安卓風格
六、Qt Bluetooth
1、支持Bluez5
2、藍牙低能耗技術預覽版(在Bluez4和Bluez5,並僅支持「client side」)
七、QPA插件
1、Wayland平台插件現在集成到了發布版。
2、XCB支持30位深的屏幕(即每顏色通道10位)。
3、fontconfig和GTK平台後端可以解析更多的字體設置。
4、More categorized logging is in use so that you can enable it in the standard ways (qtlogging.ini etc.) instead of needing to set obscure environment variables or uncomment #defines. The log also provides more complete information, especially about events.
·「註:看起來很有用,但我沒能理解作者的意思,故附原文。」
5、XCB插件已經加入對「大於1的設備像素比(整數型)」的支持。可以通過QT_DEVICE_PIXEL_RATIO環境變數來控制設備像素比。
八、Qt WebEngine
1、QtWebKitWidgets支持OpenGL 2D加速的畫布。
2、Qt WebKit模塊已經行將就木,未來是Qt WebEngine的時代。Widget和QML中的WebKit API都將被取代。
九、Qt WebChannel
1、對於WebKit以及其他瀏覽器引擎,引入一個新的模塊來跨越QML/C++與HTML/JS之間的隔閡。
十、Qt Windows Extras
1、在任務欄中,當劃過應用時支持多個縮略圖。
十一、Qt Sensors
1、Windows Phone:添加了電子羅盤和光線感應。
十二、Qt SQL
1、WPhone:支持sqlite