一、m 系列芯片 MacBook 使用 Qt5
使用官方下載的 MaintenanceTool 是沒(méi)辦法直接下載 arm 架構(gòu)的 Qt5 庫(kù)的。在 QtCreator 上面運(yùn)行的 Qt5 其實(shí)是 x86 架構(gòu)的 Qt 庫(kù),然后使用 Rosetta2 轉(zhuǎn)譯的,相比原生 arm 架構(gòu)的庫(kù),性能也會(huì)差點(diǎn)。
安裝 arm 架構(gòu)的 Qt5 庫(kù),目前有兩種方法:
1、編譯源碼安裝
2、通過(guò) brew 安裝
brew search qt@5
然后在 CMake 中設(shè)置:
-DCMAKE_PREFIX_PATH=/opt/homebrew/Cellar/qt@5/5.15.5_1/lib/cmake/Qt5
二、在 Qt 上同時(shí)使用 WebEngine 和 OpenGL
Qt 對(duì)這兩個(gè)功能都進(jìn)行了封裝,通過(guò) CMake 或者 QMake 都可以快速引入。
如果只引入 OpenGL,可以隨意設(shè)置 OpenGL 的版本環(huán)境,跟正常使用一樣。
如果同時(shí)引入了 WebEngine,由于 WebEngine 使用了 Chromium,OpenGL 的版本環(huán)境會(huì)被強(qiáng)行設(shè)置為4.1。> 所以如果同時(shí)引入OpenGL和WebEngine,則會(huì)導(dǎo)致版本gl版本不兼容問(wèn)題,(例如,如果之前是按照2.1的規(guī)范寫的 OpenGL,則無(wú)法在項(xiàng)目中使用)。
三、Qt 圖片相關(guān)
Qt5 在圖片方面有兩個(gè)相關(guān)的類:QPixMap 和 QImage。
QPixMap 偏向于顯示圖片,底層可能會(huì)直接用到硬件加速。
QImage 則更偏向于像素級(jí)的圖像處理,與硬件和平臺(tái)無(wú)關(guān)。
此外,Qt 還封裝了 QImageReader 用于讀取圖片的信息,如長(zhǎng)寬等。也可以用以下代碼查看 Qt 在當(dāng)前系統(tǒng)下支持的圖片格式:
QList<QByteArray> formats = QImageReader::supportedImageFormats();
for (const QByteArray &format : formats) {
qDebug() << format;
}
基本上,常見(jiàn)的圖片格式都可以直接用 Qt 自帶的類進(jìn)行加載。