QT分辨率获取以及当前屏幕数量等信息通过调用QDesktopWidget来实现。
1.获取屏幕数量:
QDesktopWidget *dwsktopwidget = QApplication::desktop();
int numScreens=dwsktopwidget->numScreens();
QDesktopWidget *dwsktopwidget = QApplication::desktop();
int primary=dwsktopwidget->primaryScreen();
3.获取屏幕分辨率:
QDesktopWidget *dwsktopwidget = QApplication::desktop();
int primary=dwsktopwidget->primaryScreen();
QRect deskrect = dwsktopwidget->availableGeometry(primary);
int screenWidth = deskrect.width();
int screenHeight = deskrect.height();
在获取屏幕分辨率时,availableGeometry 是获取可用分辨率,不包括windows任务栏的空间。
4.居中显示程序到主屏幕:
void CLGUIUtil::setShowCenter(QWidget *widget)
{
QDesktopWidget *dwsktopwidget = QApplication::desktop();
int primary=dwsktopwidget->primaryScreen();
QRect deskrect = dwsktopwidget->availableGeometry(primary);
widget->move((deskrect.width() - widget->width())/2, (deskrect.height() - widget->height())/2);
}