我可以在运行时更改像素比(屏幕)吗?

问题描述 投票:1回答:1

Qt确实支持像素比率(devicePixelRatio),这在我的各种桌面上是不同的:

  1. )桌面w1920 w1080 - 比例:1
  2. )桌面w3840 w2160与qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "1")结果桌面w1280 w720喜DPI比率:3
  3. )桌面w3840 w2160 - 比率:1没有QT_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:跟进

qt qwidget
1个回答
1
投票

这是我当前的解决方法,因为有人问我。它只有在我构建UI之前才能工作,所以我在开始时调用它。

在高DPI屏幕上传递大约1.0(例如0.75)的值。但是我以后不能改变它。

Style sheets / Qt Designer support for high dpi screens?
© www.soinside.com 2019 - 2024. All rights reserved.