在qt下获取屏幕分辨率
1,在Windows下可以使用 GetSystemMetrics(SM_CXSCREEN);GetSystemMetrics(SM_CYSCREEN) 获取。 2,在Linux下可以使用XDisplayWidth ;XDisplayHeight ()获取。
3,在QT中呢?很多人说是 QApplication::desktop()->width();QApplication::desktop()->height(); 这个方法对于单显示器模式当然没有问题。但是对于多显示器,特别是使用了扩展桌面的就会有问题了。今天上午仔细看了QDesktopWidget的帮助,需要使用QApplication::desktop()->screenGeometry();这个函数有好几个重载的版本,意思都一样。该函数返回一个QRect,这个QRect的宽和高就是所在Screen的分辨率。获取方法如下:
void GetScreenInfo()
{
QDesktopWidget* desktopWidget = QApplication::desktop();
//获取可用桌面大小
QRect deskRect = desktopWidget->availableGeometry();
//获取设备屏幕大小
QRect screenRect = desktopWidget->screenGeometry();
g_nActScreenX = screenRect.width();
g_nActScreenY = screenRect.height();
//g_nActScreenX = deskRect.width();
//g_nActScreenY = deskRect.height();
//获取系统设置的屏幕个数(屏幕拷贝方式该值为1)
g_nScreenCount = desktopWidget->screenCount();
}说到这里,顺便标记以下多屏幕设置成拷贝方式时,获取的屏幕的个数是一个,只有设置成扩展时才返回多个。
打印屏幕分辨率和个数信息:
void printscreeninfo()
{
QDesktopWidget *dwsktopwidget = QApplication::desktop();
QRect deskrect = dwsktopwidget->availableGeometry();
QRect screenrect = dwsktopwidget->screenGeometry();
QDesktopWidget *dwsktopwidget = QApplication::desktop();
QRect deskrect = dwsktopwidget->availableGeometry();
QRect screenrect = dwsktopwidget->screenGeometry();
int scrcount = dwsktopwidget->screenCount();
qCritical("screenrect.w==%s\n",qPrintable(QString::number(screenrect.width())));
qCritical("screenrect.h==%s\n",qPrintable(QString::number(screenrect.height())));
qCritical("deskrect.w==%s\n",qPrintable(QString::number(deskrect.width())));
qCritical("deskrect.h==%s\n",qPrintable(QString::number(deskrect.height())));
qCritical("scrcount==%s\n",qPrintable(QString::number(scrcount)));
}
http://blog.csdn.net/ftworld21/article/details/15025797
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2015-06-12 webkit中DOM 事件有多少
2015-06-12 在TMemo上画一条线(超级简单,举一反三)