Qt确实支持像素比率(devicePixelRatio
),这在我的各种桌面上是不同的:
qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "1")
结果桌面w1280 w720喜DPI比率:3QT_AUTO_SCREEN_SCALE_FACTOR
我想知道我是否可以为我的应用程序手动调整此比率,例如使用上面示例2中的“比率2”。
那么有没有办法在运行时设置这个值?
基于qazxsw poi,我确实尝试了类似的东西
http://doc.qt.io/qt-5/highdpi.html
实际上我确实期望设置qputenv("QT_SCALE_FACTOR", QString::number(scaleFactor).toLocal8Bit());
看起来像上面的2号,但它不一样。 1-4看起来很奇怪。
以下3行看起来类似于int scaleFactor = 3
(基于qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "1")
)
https://stackoverflow.com/a/45168724/356726
PS:跟进
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); // DPI support
QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); //HiDPI pixmaps
qputenv("QT_SCALE_FACTOR", "1");
这是我当前的解决方法,因为有人问我。它只有在我构建UI之前才能工作,所以我在开始时调用它。
在高DPI屏幕上传递大约1.0(例如0.75)的值。但是我以后不能改变它。
Style sheets / Qt Designer support for high dpi screens?