多屏模式

多屏模式

多屏即电脑可以接多个显示屏,显示不同或者相同的内容,各显示屏的分辨率可以完全不同,也不会影响。其实用的挺广泛,只是自己一直孤陋寡闻没有关注到。一般在会议,展示及教学等场合用的较多,而且一般在笔记本上用,需要显卡的支持。虽然理论上可以接多个显示屏,但实际上,双屏已基本满足使用要求。双屏又有扩展(屏幕显示不同),复制(屏幕显示相同)等模式,这里只关注扩展模式。

基本概念

多屏模式_第1张图片

主屏幕(Primary Screen)

无所谓主屏,只是说,有个默认的主屏。windows下也是可以更改,但老大只能有一个,多了会出事的。。。

扩展屏

扩展屏就是小的了,可以有多个。

虚拟屏幕(Virtual Screen)

主屏和扩展屏组成的整个屏幕,就是虚拟屏幕。主屏和扩展屏,并非整齐排列,扩展屏可以放在主屏四周任何地方,但要相邻。如图所示,可以错落有致,这样做的目的还不太清楚。

屏幕的坐标

主屏和扩展屏的随意摆放,才导致了屏幕坐标的获取比较麻烦。主屏的左上角是原点(0,0),扩展屏放置位置的不同,其坐标可以为正值,也可以为负值。

Qt获取虚拟屏的大小

Qt的帮助文档:

QDesktopWidget also inherits the QWidget properties, width() and height(), which specify the size of the desktop. However, for desktops with multiple screens, the size of the desktop is the union of all the screen sizes, so width() and height() should not be used for computing the size of a widget to be placed on one of the screens.

QDesktopWidget的width和height属性,对多屏模式,是指整个虚拟屏幕的宽和高,所以建议,不要用它作为主屏或扩展屏大小的判断依据。主屏或扩展屏的大小,可以根据screenGeometry()函数来获取。

参考

  1. Creation of Multi-monitor Screenshots Using WinAPI

你可能感兴趣的:(qt,多屏)