一、Qt Widgets 问题交流
1.开启PassThrough缩放后,QLabel在非百分百DPI缩放时显示图像模糊
cpp
// QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); // 没影响
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); // Qt5
QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);
图片需要比Label尺寸大的,这样才能明显看到非百分百DPI缩放更模糊。
将QPixmap和QLabel的devicePixelRatioF同步后看起来就清晰了。
cpp
qreal ratio = devicePixelRatioF();
QImage image = QImage(filepath).scaled(ui->label->size() * ratio, Qt::KeepAspectRatio, Qt::SmoothTransformation);
QPixmap pixmap = QPixmap::fromImage(image);
pixmap.setDevicePixelRatio(ratio);
ui->label->setPixmap(pixmap);
QLabel使用grab保存图像,对比QPixmap设置devicePixelRatioF前后,可以看到设置前会有一些大的色块:

二、Qt Quick 问题交流
1.
三、其他
1.Inno Setup安装判断系统是32位还是64位
参考:https://developer.aliyun.com/article/258368
Setup
;先开启64位模式
ArchitecturesInstallIn64BitMode=x64
Run
;根据是否是64位进行不同的操作
Filename: "..."; Check: Is64BitInstallMode
Filename: "..."; Check: not Is64BitInstallMode