У меня есть следующий компонент QML:
import QtQuick 2.3
import QtQuick.Window 2.3
Window
{
id: main
visible: true
width: 500
height: 500
screen: Qt.application.screens[0]
Text
{
text: "Hello World!"
}
}
использовал следующий способ:
#include <QApplication>
#include <QQmlApplicationEngine>
#include <QString>
int main(int argc, char** argv)
{
QApplication app{argc, argv};
QQmlApplicationEngine engine;
engine.load(QUrl{QStringLiteral("qrc:/main.qml")});
return app.exec();
}
Я запускаю это в системе с двумя экранами.
Пока у меня есть screen: Qt.application.screens[0]
, окно всегда будет отображаться на экране, где находится мышь при запуске приложения.
Если я изменю его на screen: Qt.application.screens[1]
, окно всегда будет отображаться на втором экране, независимо от текущей позиции мыши.
Qt.application.screens[2]
не существует.
Теперь два вопроса: ожидается ли это поведение screen: Qt.application.screens[0]
, т.е. является ли первый элемент в этом массиве всегда текущим экраном?
И если да, то как мне получить первый экран?
Пробовал это с версиями Qt 5.9.6 и 5.12.3.