Qt获取电脑屏幕大小

在Qt中获取电脑屏幕的大小(宽度和高度),可以使用QDesktopWidget类(对于Qt 4.x和早期的Qt 5.x版本)或QScreen类(对于较新的Qt 5.x版本及以上)。以下分别给出这两种方法的示例代码:

使用 QDesktopWidget (适用于Qt 4.x和早期Qt 5.x)

#include <QDesktopWidget>

// 获取主屏幕尺寸
QDesktopWidget *desktop = QApplication::desktop();
int screenWidth = desktop->screen()->width();
int screenHeight = desktop->screen()->height();

// 输出屏幕尺寸
qDebug() << "Screen size: " << screenWidth << "x" << screenHeight;

使用 QScreen (推荐,适用于Qt 5.x及以上)

#include <QScreen>

// 获取主屏幕尺寸
QScreen *screen = QGuiApplication::primaryScreen();
QRect screenGeometry = screen->geometry();

int screenWidth = screenGeometry.width();
int screenHeight = screenGeometry.height();

// 输出屏幕尺寸
qDebug() << "Screen size: " << screenWidth << "x" << screenHeight;

上述两种方法均能有效地获取当前电脑屏幕的宽度(screenWidth)和高度(screenHeight)。选择使用哪一种取决于你正在使用的Qt版本。如果你使用的是较新的Qt版本(推荐使用),应优先采用QScreen类,因为它提供了更现代且功能更全面的屏幕管理接口。

无论哪种方法,最终都会输出类似这样的信息:

Screen size: 1920x1080

这表示当前屏幕的宽度为1920像素,高度为1080像素。这些信息可用于布局应用程序窗口、调整图像大小等与屏幕相关的操作。

相关推荐
IT猿手2 分钟前
2025最新群智能优化算法:云漂移优化(Cloud Drift Optimization,CDO)算法求解23个经典函数测试集,MATLAB
开发语言·数据库·算法·数学建模·matlab·机器人
至暗时刻darkest6 分钟前
go mod文件 项目版本管理
开发语言·后端·golang
雷渊7 分钟前
深入分析理解mysql的MVCC
java·数据库·面试
Paparazi灬10 分钟前
RocksDB写流程各种场景下的处理逻辑和线程交互时序
数据库
xcyxiner14 分钟前
snmp wireshark 抓包
c++
rocksun14 分钟前
BJARNE STROUSTRUP谈C++的演变
c++
sakoba32 分钟前
spring IOC(实现原理)
java·开发语言
MZWeiei32 分钟前
Scala:在哪里写类的属性?类的属性必须私有吗?类的必须初始化吗?
开发语言·scala
闯闯桑33 分钟前
Scala 中的访问修饰符
大数据·开发语言·scala
我不是代码教父34 分钟前
[原创](Modern C++)现代C++的关键性概念: 非常独特的std::sentinel_for概念(哨兵概念)
开发语言·c++·sentinel