小编MrC*_*ake的帖子

QT 通过 C++ 添加映射 QML 项目

我尝试将 QML 地图项(例如 MapQuickItem 或 MapCircle)从 C++ 添加到我的地图中。不幸的是,他们没有出现在地图上。只需使用 QML 矩形即可使用相同的代码。rect v1 是用于测试其是否有效的矩形。rect v2 是不起作用的mapCircle。当我将圆 QML 代码 1:1 添加到地图 QML 代码中时,它工作正常。

主要.cpp

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    QQuickView *view = new QQuickView;
    view->setSource(QUrl("qrc:/map.qml"));

    QQmlComponent compRect (view->engine(), QUrl("qrc:/rect.qml"));

    view->setWidth(1000);
    view->setHeight(650);
    view->setTitle("GUI");


    QQuickItem *map = view->findChild<QQuickItem*>("map1");

    QQuickItem *rect = qobject_cast<QQuickItem*>(compRect.create(view->rootContext()));

    rect->setParentItem(map);
    rect->setParent(map); //know this is not for visual objects, just for test

    view->show();
    return app.exec();
}
Run Code Online (Sandbox Code Playgroud)

直方图.qml v1

import QtQuick 2.14
import QtLocation 5.14
import QtPositioning 5.14

Rectangle …
Run Code Online (Sandbox Code Playgroud)

c++ qt qml qtlocation

3
推荐指数
1
解决办法
3138
查看次数

标签 统计

c++ ×1

qml ×1

qt ×1

qtlocation ×1