Python 如何用QML中定义的对象填充QQuickWidget?

Python 如何用QML中定义的对象填充QQuickWidget?,python,pyqt,qml,qtquick2,pyqt5,Python,Pyqt,Qml,Qtquick2,Pyqt5,这是我目前的QML: import QtQuick 2.0 import QtQuick.Window 2.0 import QtLocation 5.6 import QtPositioning 5.6 Rectangle { width: 720 height: 480 Plugin { id: myPlugin name: "osm" //specify plugin parameters if necessary

这是我目前的QML:

import QtQuick 2.0
import QtQuick.Window 2.0
import QtLocation 5.6
import QtPositioning 5.6

Rectangle {
    width: 720
    height: 480

    Plugin {
        id: myPlugin
        name: "osm"
        //specify plugin parameters if necessary
        //PluginParameter {...}
        //PluginParameter {...}
        //...
    }

    PositionSource {
        id: positionSource
        property variant lastSearchPosition: locationOslo
        active: true
        updateInterval: 120000 // 2 mins
        onPositionChanged:  {
            var currentPosition = positionSource.position.coordinate
            map.center = currentPosition
            var distance = currentPosition.distanceTo(lastSearchPosition)
            if (distance > 500) {
                // 500m from last performed pizza search
                lastSearchPosition = currentPosition
                searchModel.searchArea = QtPositioning.circle(currentPosition)
                searchModel.update()
            }
        }
    }

    property variant locationOslo: QtPositioning.coordinate( 40.42, -86.91 )

    PlaceSearchModel {
        id: searchModel

        plugin: myPlugin

        searchTerm: "Pizza"
        searchArea: QtPositioning.circle(locationOslo)

        Component.onCompleted: update()
    }

    Map {
        id: map
        anchors.fill: parent
        plugin: myPlugin;
        center: locationOslo
        zoomLevel: 13

        MapItemView {
            model: searchModel
            delegate: MapQuickItem {
                coordinate: place.location.coordinate

                anchorPoint.x: image.width * 0.5
                anchorPoint.y: image.height

                sourceItem: Column {
                    Image { id: image; source: "marker.png" }
                    Text { text: title; font.bold: true }
                }
            }
        }


    Connections {
        target: searchModel
        onStatusChanged: {
            if (searchModel.status == PlaceSearchModel.Error)
                console.log(searchModel.errorString());
            }
        }
    }
}
我希望矩形填充我要嵌入的
QQuickWidget
。下面是代码:

map_view = QQuickWidget()
map_view.setSource(QUrl('src/map.qml'))
layout.addWidget(map_view)
现在,由于我正在硬编码矩形对象的宽度和高度,结果如下所示:


我如何在QML中指定我希望它填充它所嵌入的
QQuickWidget

只是想知道,您是否尝试在矩形中指定:
anchors.fill:parent
而不是宽度和高度?@DuKes0mE是的,我指定了。不幸的是,这会导致出现一个空白屏幕。您是否尝试设置为
SizeRootObjectToView
?请将您的代码更新为。据我所知,地图代码与问题完全无关。@folibis你的建议奏效了。如果您将其作为答案发布,我将接受。只是想知道,您是否尝试在矩形中指定:
anchors.fill:parent
,而不是宽度和高度?@DuKes0mE是的,我指定了。不幸的是,这会导致出现一个空白屏幕。您是否尝试设置为
SizeRootObjectToView
?请将您的代码更新为。据我所知,地图代码与问题完全无关。@folibis你的建议奏效了。如果你把它作为答案贴出来,我会接受的。