如下代码:
auto lstScreen = QGuiApplication::screens();
auto screenSize = lstScreen.size();
可以获取显示器个数,比如:主机接了2个显示器,则lstScreen.size()则为2。但是有如下坑:
- 当某个显示器休眠时,这里探测出的是不包含休眠的显示器的个数。即如果有两个显示器,其中一个休眠了,则此处为screenSize为1而不是2。
- 当有两个显示器都休眠后被唤醒时,上述代码在显示器1唤醒后显示器2未唤醒之前执行时,screenSize为1而不是2。
这段代码用于获取系统中显示器的数量,但在显示器休眠时存在异常情况:当部分或全部显示器休眠并重新唤醒时,检测到的显示器数量可能不准确。在显示器休眠期间,代码可能报告比实际更少的屏幕数量。
1968

被折叠的 条评论
为什么被折叠?



