Qt获取屏幕分辨率

Qt获取屏幕分辨率

需要使用到QDesktopWidget,相关头文件引用:

#include <QDesktopWidget>

单个屏幕

只获取当前屏幕大小,较简单:

QDesktopWidget *desktop = QApplication::desktop();
Qrect screen = desktop->screenGeometry();
int screenWidth = screen.width();
int screenHeight = screen.height();

多个屏幕

很多时候存在多个屏幕,如:存在主屏和扩展屏。则需要分别对这两个屏幕获取大小:

QDesktopWidget *desktop = QApplication::desktop();
int screenNum = desktop->screenCount();
for (int i=0; i<screenNum; i++)
{
    Qrect screen = desktop->screenGeometry();
    qDebug("screen %d, width %d, height %d", i, screen.width(), screen.height());
}

Qt的帮助文档提到一个问题,一般程序都希望一个窗口落在一个屏幕内,
在此输入图片描述

这需要用到:

int primaryScreen () const

另外,提到一个虚拟桌面的概念,没太明白是干啥的。

参考:

  1. Qt Assiant之“QDesktopWidget Class Reference”

你可能感兴趣的:(qt,屏幕分辨率)