强制Qt-Window到特定的屏幕

时间:2018-02-12 08:26:16

标签: c++ windows qt qt5 qt5.9

我有一个Windows系统,它连接了两台显示器,它本身可以扩展Windows桌面。现在我想启动两个Qt应用程序,但是需要强制它们中的每一个到特定的监视器,意味着应用程序A总是必须在监视器1上打开它的窗口,应用程序B总是必须在监视器2上打开它的窗口(无论它们在哪里最后一次打开,无论鼠标位于何处。)

如何自动完成?它只能通过桌面的屏幕坐标来完成吗?如果是:我如何强制基于QWidget的窗口到特定坐标?如果不是:怎么办呢?

谢谢!

1 个答案:

答案 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()));