Qt/Qml:地图元素的 Repeater 与 MapItemView

2024-02-19

我想用来自 a 的地图元素(如 MapCircle,...)填充 Qml 地图QAbstractListModel。似乎有两个 Qml 工具适合于此,MapItemView[1] 和Repeater[2]。这Repeater更强大(例如,它允许嵌套模型) - 那么有什么理由使用MapItemView代替Repeater?

Regards,

[1] http://doc.qt.io/qt-5/qml-qtlocation-mapitemview.html http://doc.qt.io/qt-5/qml-qtlocation-mapitemview.html

[2] http://doc.qt.io/qt-5/qml-qtquick-repeater.html http://doc.qt.io/qt-5/qml-qtquick-repeater.html

MapItemView来源:http://code.qt.io/cgit/qt/qtlocation.git/tree/src/location/declarativemaps/qdeclarativegeomapitemview.cpp http://code.qt.io/cgit/qt/qtlocation.git/tree/src/location/declarativemaps/qdeclarativegeomapitemview.cpp

中继器来源:http://code.qt.io/cgit/qt/qtdeclarative.git/tree/src/quick/items/qquickrepeater.cpp http://code.qt.io/cgit/qt/qtdeclarative.git/tree/src/quick/items/qquickrepeater.cpp


你应该使用MapItemView为了那个原因。 使用Repeater仅当您创建时才有效Map,如果您随后在模型中添加元素,则不会将任何委托添加到 Map 中。

事实上,它首先适用于Repeater但之后不是因为:

  • the Repeater父母他的代表给他的父母,这是Map
  • The Map然后,对象在创建时扫描其子项一次(在 C++ 函数中相当于Component.onCompleted)
  • 经过这次扫描,孩子们MapItem- 派生对象被添加到地图中,就像手动调用时一样Map.addMapItem() http://doc.qt.io/qt-5/qml-qtlocation-map.html#addMapItem-method
  • 之后创建的代表由Repeater只是作为父级Map但并没有真正“添加”到其中。

Since MapItemView知道Map它可以将代表添加到Map当它创建它们时。

限制之一是MapItemView是它只适用于QAbstractItemModel并得出。这意味着它可以与ListModel或 C++ 模型,但不能使用像 js 数组或整数这样的“哑”模型作为模型。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt/Qml:地图元素的 Repeater 与 MapItemView 的相关文章

  • 无法在 QGLWidget 中设置所需的 OpenGL 版本

    我正在尝试在 Qt 4 8 2 中使用 QGLWidget 我注意到 QGLWidget 创建的默认上下文不显示 OpenGL 3 1 以上的任何输出 Qt wiki 有一个教程 http qt project org wiki How t
  • 具有多个父项的 Qt 树模型

    我想构建一棵树 其中一个元素可以引用另一个元素 我想要构建的树是 像这样的东西 A B C D E F P this is a pointer to C D first child of C E second child of C I fo
  • 如何从浮点数组创建新的 QImage

    我有一个代表图像的浮点数数组 列在前 我想在 QGraphicsSecene 上将图像显示为 QPixmap 为了做到这一点 我尝试使用 QImage 构造函数 QImage const uchar data int width int h
  • 如何为 qmlRegisterSingletonType 实现单例提供程序?

    我想在 QML 中使用 C 类作为 Singleton 实例 并认为我必须使用 qmlRegisterSingletonType 注册它们 此函数需要一个提供已注册 C 类的实例的函数 我在 Windows 上使用最新的 Qt 5 3 1
  • PyQt - 如何从给定的小部件获取顶级父级?

    给定的小部件如何访问它最旧的父级 即顶级小部件 我需要 showMinimized it 现在我正在使用 self parent parent parent showMinimized 但这似乎不是最好的方法 如果它移动了 我需要手动更改父
  • 无法将 QList 分配给 QString

    我遇到这个错误 Unable to assign QList
  • 仅在发布模式下使用 glGenBuffer 时出现未处理的异常 - QT

    我在 Windows 7 上使用 Qt 4 8 发布模式编译项目时遇到了一些问题 调试时一切正常 但在发布时我收到未处理的异常 0xC0000005 访问冲突 我将范围缩小到发生这种情况的行 即生成像素缓冲区的时间 我的第一个猜测是 DLL
  • Qml 和模糊图像

    我想使用 QML 实现模糊效果 我找到了有关 效果 模糊 的参考资料 例子 http qt gitorious org lscunha qt components lscunha qt components blobs d78feec567
  • 仅在内部/外部抚摸路径?

    Given a QPainterPath http qt project org doc qt 4 8 qpainterpath html如何仅在路径的内侧或外侧边缘 或非闭合路径的左侧或右侧 描边路径 QPainter strokePat
  • 如何在 Qt Creator 中编辑 QtWebKit 的右键上下文菜单?

    好吧 这是我的困境 我正在使用 Qt Creator 制作一个使用 Webkit 的简单应用程序 我认为 Qt Creator 会有一种简单的方法来使用信号和槽编辑器编辑右键单击上下文菜单 但事实证明这不是真的 我知道 webkit 有与上
  • QStyledItemDelegate 绘制自定义小部件失败

    在我的一个项目中 我使用的是QTableWidget为了显示一些复杂的计算结果 为了提高表格的可读性 我需要在单个表格单元格内显示两个对齐的值 后来我想通过使用颜色或箭头等来进一步自定义小部件 为此我源自QStyledItemDelegat
  • 使用 CMake 编译时更改头文件位置会导致缺少 vtable 错误

    对于一个大型 C 项目 我需要从 qmake 过渡到 CMake 但是在处理一个玩具示例时 我遇到了一些我不理解的行为 示例代码具有单个头文件 当该头文件移动到子目录中时 我收到 MainWindow 类缺少 vtable 的错误 CMak
  • QML 中可重用的字体属性[重复]

    这个问题在这里已经有答案了 在 QML 中 我希望能够定义一组字体属性以进行简单的语义重用 例如 代替 Text text This is a header font family Encode Sans weight Font Black
  • Qt:不完整类型和前向声明的使用无效

    我有一些误解 A h ifndef A H define A H include B h class A public B Q OBJECT public A endif A cpp include A h A A B ui gt blan
  • 如何doxygen注释Qt属性?

    我想将 Doxygen 注释附加到我的 Q PROPERTY 例如 song h class Song public QObject Q OBJECT private Q PROPERTY QString title READ title
  • 如何在 Qt 应用程序中嵌入 Python 解释器?

    有没有一种简单的方法可以将 Python 解释器嵌入到 Qt 应用程序中 如果可能的话 我希望有一个跨平台的解决方案 这就是目的PythonQt http pythonqt sourceforge net 它支持 Windows Linux
  • 针对初学者的 QT 商业许可证与非商业许可证 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 QT 许可似乎非常反学习 因为据我所知 用它开发的任何东西都只能是商业的当且仅当 its entire开发是在使用商业许可证的情况下完成的
  • 覆盖 QWebView 中的页面回复

    我试图在 Qt 的 QWebView 中拦截页面 表单请求 并在某些情况下使用替代内容进行响应 QNetworkReply ngcBrowser createRequest Operation operation const QNetwor
  • QFileSystemModel setRootPath

    我正在尝试创建一个 Qt 应用程序来显示文件夹 Mac OS 中的 Users 文件夹 的内容 这是代码 QFileSystemModel dirModel new QFileSystemModel dirModel gt setRootP
  • Qt(在 Windows 上)将权限级别设置为“requireAdministrator”

    我正在使用 Qt Creator 并努力制作 exe文件默认以管理员身份运行 在线阅读所有解决方案我试图将这一行放入我的 pro file QMAKE LFLAGS MANIFESTUAC level requireAdministrato

随机推荐

  • Rust 如何保证内存安全并防止段错误?

    我一直在寻找一种可以学习的语言 并且我发现 Rust 变得非常流行 Rust 有两件事给我留下了深刻的印象 内存安全和防止段错误 Rust 是如何实现这一点的呢 例如 Rust 和 Java 之间的哪些差异使得 Rust 具有安全功能 Ru
  • 如何将小型 ORC 文件组合或合并为较大的 ORC 文件?

    SO 和网络上的大多数问题 答案都讨论使用 Hive 将一堆小 ORC 文件合并为一个较大的文件 但是 我的 ORC 文件是按天分隔的日志文件 我需要将它们分开 我只想每天 汇总 ORC 文件 HDFS 中的目录 我最有可能需要用 Java
  • 指针和指针变量有什么区别?

    我知道这是非常基本的 但对我来说有点困惑 我读了 a pointer无非是一个address and a 指针变量只是一个变量 可以存储一个地址 当我们存储变量的地址时i在指针变量中p 我们说p 指着 i int i p i p指着i 为了
  • C++:打印双精度的十六进制表示

    有没有一种简单的方法来操作 std cout 以便它以十六进制表示形式打印双精度数 换句话说 相当于 printf PRIx64 reinterpret cast
  • .Net IP 地址 IPv4

    我有以下代码 Dim ipAdd As IPAddress Dns GetHostEntry strHostname AddressList 0 Dim strIP As String ipAdd ToString 当我转换为字符串而不是像
  • 在 MATLAB GUI 中显示分析结果

    我的问题是这样的 我有一个 MATLAB GUI 我希望运行它时得到的分析结果显示在我的 GUI 而不是命令窗口中 我尝试使用列表框来显示结果 因为会自动为列表框创建滑块 但它不起作用 如何显示数据 也许使用静态文本框 首先 您必须确保禁止
  • symfony swiftmailer:邮件未在产品环境中发送

    我有一个 symfony 2 8 应用程序 并实现了 fosuserbundle 在里面dev环境中 注册确认邮件已发送 但未在prod环境 没有日志消息 smtp 配置正确 科幻版本 2 8 1 swiftmailer bundle 版本
  • 如何通过javascript将浏览器滚动到所需的元素?

    问题很简单 如何通过javascript将浏览器滚动到所需的元素或所需的位置 非常感谢您的帮助 对于一个元素 document getElementById id scrollIntoView 具有跨浏览器支持 http www quirk
  • 在会话中存储密码安全吗? [复制]

    这个问题在这里已经有答案了 我需要在会话中经常使用密码 我正在使用由密码加密的密钥来加密我的用户数据 这就是我的问题 储存安全吗纯文本php 会话中的密码 不是 cookie 所以非客户端 有没有更好的办法 或者我应该每次都询问我的用户密码
  • 如何跨多个程序集使用 WindsorInstaller 进行注册

    我正在使用 Castle Windsor 来处理我的依赖注入 到目前为止它一直运行良好 然而 我现在正在尝试扩展我的项目并添加一些额外的库 我现在正在努力寻找利用 Castle 的最佳方法 我目前有以下程序集 MyProject Inter
  • 如何在 SQL Server 中使用游标内的游标?

    我有以下查询 我想在查询中使用嵌套游标 如何执行此操作 因为它没有运行 而且我是 SQL Server 新手 请帮我 CHECK TABLE SUGGEST LAT 31 8181 LONG 71 4146 消息 16915 级别 16 状
  • 通过种子作业创建后立即启动詹金斯作业

    我正在使用 Jenkins DSL 插件自动为 git 项目的所有分支创建构建作业 DSL 插件由 Web 挂钩触发 以便在创建新分支后立即运行 每个分支生成的构建作业也配置为由 Web 挂钩触发 当前设置的问题是 构建只会在第二次提交后执
  • 替换第二次出现的 ?与 &

    任何人都可以提供适当的代码来仅替换 的第二个实例吗 在带有 的字符串中 我环顾四周 但似乎无法做到这一点 而且我一开始对正则表达式不太热衷 Thanks 您可以使用IndexOf指定起始索引来查找第二个问号的索引 然后使用Substring
  • .htaccess 中的 Zend SetEnv 不起作用

    我在我的 ubuntu 主服务器上安装了 Zend 在我的 htaccess 文件中 我有以下代码 SetEnv APPLICATION ENV development RewriteEngine On RewriteCond REQUES
  • 如何计算每行中匹配值的数量?

    我尝试了这段代码 import pandas as pd df pd DataFrame A ker 2 3 4 B 4 5 6 ker C 4 13 2 5ser ker D 4 5 6 2 5ser df count df iloc 0
  • 让人抓狂 - ASP.Net AJAX AutoComplete 不起作用

    希望有人能帮忙解决这个问题 我一直在网上和这个网站上寻找答案 但仍然无法让自动完成 AJAX 控件正常工作 我已经从尝试将其包含在现有网站中到将其剥离回非常基本的形式 但它仍然无法正常工作 我使用页面方法而不是本地网络服务更幸运 所以这是我
  • 有没有办法让 WebView 小部件使用 Chrome 而不是三星/LG Android 手机上的内置 WebKit 浏览器?

    在 Android 应用程序中使用 WebView 时 Android 将在后台使用不同的浏览器来呈现网页 例如 三星设备上的 Android 4 4 之前版本将使用三星原厂手机上基于 WebKit 的浏览器 即使已安装 Chrome 并且
  • Java - 将字符串(包括 EEST)转换为日期

    我有这样的字符串 Wed Oct 27 00 00 00 EEST 2010 我想将其解析为日期类型 我尝试过 DateTimeFormat fmt DateTimeFormat getFormat EEE MMM dd HH mm ss
  • 如何在 R 中将字符列表折叠为单个字符串

    我想将一个列表作为单个字符串输出到 Excel 文件中 我从一个字符列表开始 url http eutils ncbi nlm nih gov entrez eutils efetch fcgi db pubmed id 21558518
  • Qt/Qml:地图元素的 Repeater 与 MapItemView

    我想用来自 a 的地图元素 如 MapCircle 填充 Qml 地图QAbstractListModel 似乎有两个 Qml 工具适合于此 MapItemView 1 和Repeater 2 这Repeater更强大 例如 它允许嵌套模型