一、m 系列芯片 MacBook 使用 Qt5
使用官方下载的 MaintenanceTool 是没办法直接下载 arm 架构的 Qt5 库的。在 QtCreator 上面运行的 Qt5 其实是 x86 架构的 Qt 库,然后使用 Rosetta2 转译的,相比原生 arm 架构的库,性能也会差点。
安装 arm 架构的 Qt5 库,目前有两种方法:
1、编译源码安装
2、通过 brew 安装
brew search qt@5
然后在 CMake 中设置:
-DCMAKE_PREFIX_PATH=/opt/homebrew/Cellar/qt@5/5.15.5_1/lib/cmake/Qt5
二、在 Qt 上同时使用 WebEngine 和 OpenGL
Qt 对这两个功能都进行了封装,通过 CMake 或者 QMake 都可以快速引入。
如果只引入 OpenGL,可以随意设置 OpenGL 的版本环境,跟正常使用一样。
如果同时引入了 WebEngine,由于 WebEngine 使用了 Chromium,OpenGL 的版本环境会被强行设置为4.1。> 所以如果同时引入OpenGL和WebEngine,则会导致版本gl版本不兼容问题,(例如,如果之前是按照2.1的规范写的 OpenGL,则无法在项目中使用)。
三、Qt 图片相关
Qt5 在图片方面有两个相关的类:QPixMap 和 QImage。
QPixMap 偏向于显示图片,底层可能会直接用到硬件加速。
QImage 则更偏向于像素级的图像处理,与硬件和平台无关。
此外,Qt 还封装了 QImageReader 用于读取图片的信息,如长宽等。也可以用以下代码查看 Qt 在当前系统下支持的图片格式:
QList<QByteArray> formats = QImageReader::supportedImageFormats();
for (const QByteArray &format : formats) {
qDebug() << format;
}
基本上,常见的图片格式都可以直接用 Qt 自带的类进行加载。