Принудительно установить Qt-Window на конкретный экран

У меня есть Windows-система с двумя подключенными мониторами, которая сама расширяет рабочий стол Windows. Теперь я хочу запустить два Qt-приложения, но мне нужно принудительно установить каждое из них на определенный монитор, это означает, что приложение A всегда должно открывать свое окно на мониторе 1, приложение B всегда должно открывать свое окно на мониторе 2 (независимо от того, где они были открыты в последний раз и независимо от того, где находится мышь в данный момент).

Как это можно сделать автоматически? Это можно сделать только через экранные координаты рабочего стола? Если да: как я могу заставить мое окно на основе QWidget к определенной координате? Если нет: как еще это можно сделать?

Спасибо!

0

Решение

Чтобы получить количество экранов во время выполнения, вы можете использовать:

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()));
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]