Qt获取系统屏幕分辨率
Updated:
			Contents
		
		
		
		【转】原创作品,允许转载。转载时请务必以超链接形式标明文章原始出处、作者信息和本声明,否则将追究法律责任。
http://blog.sina.com.cn/s/blog_83dddc170100sm24.html
- 在Windows下可以使用GetSystemMetrics(SM_CXSCREEN); GetSystemMetrics(SM_CYSCREEN)获取。
- 在Linux下可以使用XDisplayWidth; XDisplayHeight()获取。
- 在QT中呢?很多人说是QApplication::desktop()->width(); QApplication::desktop()->height();这个方法对于单显示器模式当然没有问题。但是对于多显示器,特别是使用了扩展桌面的就会有问题了。今天上午仔细看了QDesktopWidget的帮助,需要使用QApplication::desktop()->screenGeometry();这个函数有好几个重载的版本,意思都一样。该函数返回一个QRect,这个QRect的宽和高就是所在Screen的分辨率。获取方法如下:
| 
 | 
 | 
说到这里,顺便标记以下多屏幕设置成拷贝方式时,获取的屏幕的个数是一个,只有设置成扩展时才返回多个。
打印屏幕分辨率和个数信息:
| 
 | 
 |