Встраивание QQuickWidget в макет (или в QWidget) в Python
Я использую Python и Pyside2, я пытаюсь вставить QQuickWidget внутри Qwidget или внутри Layout, но я не нашел решения. Я пытаюсь с этим кодом:
view = QQuickWidget()
view.setSource(QUrl.fromLocalFile("main.qml"))
но QQuickWidget запускается в других окнах. Я пытаюсь использовать:
Layout.addWidget(view)
но он требует QWidget и не работает с QQuickWidget. Я нашел этот похожий вопрос (в C), но он не работает в Python: Добавление QQuickWidget в QStackedWidget
Я пробовал QQmlApplicationEngine и QQuickView, но проблема в том, что некоторые.
Вы можете мне помочь?
Изменить: файл main.qml:
import QtQuick 2.0
import QtQuick.Window 2.0
import QtLocation 5.6
import QtPositioning 5.6
Window {
width: 300
height: 300
visible: true
Plugin {
id: mapPlugin
name: "esri"
}
Map {
anchors.fill: parent
plugin: mapPlugin
center: QtPositioning.coordinate(39.2160, 9.1344)
zoomLevel: 16
}
}
1 ответ
Решение
Проблема в том, что корневым элементом является окно, которое создаст окно, решение состоит в использовании элемента:
import QtQuick 2.0
import QtLocation 5.6
import QtPositioning 5.6
Item {
width: 300
height: 300
Plugin {
id: mapPlugin
name: "esri"
}
Map {
anchors.fill: parent
plugin: mapPlugin
center: QtPositioning.coordinate(39.2160, 9.1344)
zoomLevel: 16
}
}