#python #pyqt #pyqt5
#python #pyqt #pyqt5
Вопрос:
Я пытаюсь запустить приложение Qt QML на дополнительном экране, но оно не работает. Я использую PyCharm как IDE и PyQt5.
У меня есть второй экран, подключенный физически. и приложение корректно работает на основном экране, но даже если я попытаюсь установить экран окна на дополнительный, он не работает. Уже пробовал:
self.app = QGuiApplication(sys.argv)
self.engine = QQmlApplicationEngine()
# ...
self.engine.load(my_qml_name)
# ...
qW = QWindow(self.app.topLevelWindows()[0])
qW.setScreen(self.app.screens()[1])
Я запускаю приложение только на своем основном экране.
PS: Мое окно верхнего уровня — это QQuickWindow, а не QWindow.
Комментарии:
1.
qW.windowHandle().setScreen(self.app.screens()[1])
работает ли?2. Нет, это не так, в нем говорится, что qW не имеет атрибута WindowHandle() .
Ответ №1:
не приводите self.app.topLevelWindows()[0] ни к чему.
Код должен выглядеть следующим образом
self.app = QGuiApplication(sys.argv)
self.engine = QQmlApplicationEngine()
# ...
self.engine.load(my_qml_name)
# ...
qW = self.app.topLevelWindows()[0]
qW.setScreen(self.app.screens()[1])