我有一个Windows系统,它连接了两台显示器,它本身可以扩展Windows桌面。现在我想启动两个Qt应用程序,但是需要强制它们中的每一个到特定的监视器,意味着应用程序A总是必须在监视器1上打开它的窗口,应用程序B总是必须在监视器2上打开它的窗口(无论它们在哪里最后一次打开,无论鼠标位于何处。)
如何自动完成?它只能通过桌面的屏幕坐标来完成吗?如果是:我如何强制基于QWidget的窗口到特定坐标?如果不是:怎么办呢?
谢谢!
答案 0 :(得分:4)
要在运行时获取屏幕数量,您可以使用:
int screenCount = QApplication::desktop()->screenCount();
要获取屏幕的几何图形,您可以使用:
QRect screenRect = QApplication::desktop()->screenGeometry(1); // 0-indexed, so this would get the second screen
将窗口移动到该位置(或调整大小)是微不足道的:
yourWindow->move(QPoint(screenRect.x(), screenRect.y()));