我有一个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屏幕。
谢谢。