1. QDesktopWidget 獲取系統(tǒng)屏幕大小
QDesktopWidget 提供了詳細(xì)的位置信息,其能夠自動(dòng)返回窗口在用戶窗口的位置和應(yīng)用程序窗口的位置
QDesktopWidget* pDesktopWidget = QApplication::desktop();
//獲取可用桌面大小
QRect deskRect = QApplication::desktop()->availableGeometry();
//獲取主屏幕分辨率
QRect screenRect = QApplication::desktop()->screenGeometry();
//獲取屏幕數(shù)量
int nScreenCount = QApplication::desktop()->screenCount();
Qt5開(kāi)始,QDesktopWidget官方不建議使用,改為QScreen。
Qt 6.0 及之后版本,QDesktopWidget 已從QtWidgets 模塊中被徹底移除。
2. QScreen 獲取系統(tǒng)屏幕大小
Qt5開(kāi)始,QDesktopWidget官方不建議使用,改為QScreen。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-667974.html
#include<QScreen>
#include<QRect>
//單屏幕
QScreen* screen = QGuiApplication::primaryScreen(); //獲取主屏幕
//多屏幕
QList<QScreen *> screenList = QGuiApplication::screens(); //多顯示器
QList<QRect *> rectList;
for(int i = 0; i < screenList.size(); i++){
rectList.append(screenList.at(i).geometry()); //分辨率大小
}
注意:如果是多屏幕,其每個(gè)屏幕的rect是不一樣的,起始坐標(biāo)不同,第一個(gè)屏幕的起始坐標(biāo)是(0, 0),第二個(gè)屏幕的起始坐標(biāo)是(1920, 0)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-667974.html
3. geometry() 與 availableGeometry() 的區(qū)別
QScreen* screen = QGuiApplication::primaryScreen();
QRect rect1 = screen->geometry();
qDebug() << "rect1" << rect1.size().width() << rect1.size().height();
qDebug() << rect1.topLeft();
qDebug() << rect1.bottomRight();
QRect rect2 = screen->availableGeometry();
qDebug() << "rect2" << rect2.size().width() << rect2.size().height();
qDebug() << rect2.topLeft();
qDebug() << rect2.bottomRight();
- geometry()返回的是屏幕的大小,即屏幕分辨率大小,包括屏幕下方的工具欄(1090*1080)
- availableGeometry()返回可用屏幕的大小,不包括屏幕下方的工具欄(1090*1040)
到了這里,關(guān)于【QT】如何獲取屏幕(桌面)的大小或分辨率的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!