最近在开发qt相关,将需要的东西记录下来,可以给后来的开发人员做参考,同时也是给自己做一个备忘,有什么问题大家可以多多交流.
1、获取多个显示器屏幕分辨率
#include <QScreen>
#include <QGuiApplication>
#include <QList>
// 获取多显示器,通过list存储当前主机所有显示器
QList<QScreen *> list_screen = QGuiApplication::screens();
// 通过循环可以遍历每个显示器
for (int i = 0; i < list_screen.size(); i++)
{
QRect rect = list_screen.at(i)->geometry();
int desktop_width = rect.width();
int desktop_height = rect.height();
// 打印屏幕分辨率
qDebug() << desktop_width <<desktop_height;
}
2、获取主屏幕的缩放比例
// 除以96之后即可转换成dpi的数值,以2k屏幕为例,Windows默认dpi是125%,这里的值就是:1.25
double dpi = QGuiApplication::primaryScreen()->logicalDotsPerInch() / 96;
3、获取窗口所在屏幕的缩放比例
double dpi = this->screen()->logicalDotsPerInch() / 96;