Python 如何用QML中定义的对象填充QQuickWidget?
这是我目前的QML: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
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你的建议奏效了。如果你把它作为答案贴出来,我会接受的。