方法一:
使用QScreen来获取分辨率大小
QApplication::primaryScreen()->availableGeometry(); //去除标题栏,菜单栏后的宽高
QApplication::primaryScreen()->geometry(); //包括标题栏,菜单栏的宽高
方法二:
使用QDesktopWidget来获取分辨率大小
QApplication::desktop()->availableGeometry(); //去除标题栏,菜单栏后的宽高
QApplication::desktop()->screenGeometry(); //包括标题栏,菜单栏的宽高
获取多屏分辨率方法
方法一
QList<QScreen *> screens = QApplication::screens();
for (int i = 0; i < QApplication::screens().size(); ++i) {
qDebug()<<"-------------------"<<screens.at(i)->availableGeometry();
qDebug()<<"-------------------"<<screens.at(i)->geometry();
}
方法二:
QDesktopWidget* sTopWidget = QApplication::desktop();
for (int i = 0; i < sTopWidget->screenCount(); ++i) {
qDebug()<<"-------------------"<<sTopWidget->screen(i)->geometry();
}
获取当前点击在哪个屏幕上
void Widget::mousePressEvent(QMouseEvent *event)
{
qDebug()<<QApplication::screenAt(event->globalPos())->name()<<QApplication::screenAt(event->globalPos())->availableGeometry();
}
void Widget::mousePressEvent(QMouseEvent *event)
{
qDebug()<<QApplication::desktop()->availableGeometry(event->globalPos());
}