Qt :: AA_EnableHighDpiScaling以4K分辨率在4K监视器中混乱屏幕几何尺寸

时间:2017-03-18 01:55:41

标签: qt opengl dpi

我有一个QT应用程序,我需要在低分辨率和高分辨率显示器上运行。我正在使用

QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);

设置Qt窗口的缩放比例。

我目前的4K显示器分辨率为3840 * 2160.我正在运行Windows。现在我正试着用这个获得当前的屏幕尺寸。

QDesktopWidget qdw;
QRect mainScreenSize = qdw.screenGeometry(0);

int height1 = mainScreenSize.height();
int width1 = mainScreenSize.width();
std::cout << width1 << "\n";
std::cout << height1 << "\n";

但这打印出1920 * 1080.它仅用于3840 * 2160,这是显示器的全分辨率,只有当Qt :: AA_EnableHighDpiScaling启用时才会发生这种情况。

如果没有启用HighDpiScaling,那么它可以完美地打印每一个分辨率,无论是1920 * 1080或2560 * 1440还是其他任何东西!

我需要在启用EnableHighDpiScaling的情况下获得实际屏幕尺寸,因此我可以根据当前屏幕分辨率缩放GL屏幕。

谢谢。

0 个答案:

没有答案