如何在 QML 中的 ListView 中绑定到来自委托组件的信号

2023-12-20

假设我有一个ListView可点击的委托组件(或GridView or Repeater)。这些委托组件需要在触发时发出信号以及自定义数据,该信号可以由父组件拾取ListView。如何实现这种信号结合?

例如以下代码是我的尝试,但我不知道如何绑定trigger委托组件的信号到componentTriggered信号在root item?

Item {
    id: root
    anchors.fill: parent

    signal componentTriggered(string name)

    onComponentTriggered: {
        console.log(name + ' component was triggered')
    }

    ListModel {
        id: myModel

        ListElement { name: "alpha" }
        ListElement { name: "beta" }
        ListElement { name: "gamma" }
        ListElement { name: "delta" }
    }

    ListView {
        id: myListView
        width: 100
        height: 600

        model: myModel
        delegate: TheDelegate { name: model.name }
    }
}

哪个访问TheDelegate.qml

import QtQuick 2.0

Rectangle {
    id: root
    width: 100
    height: 50
    color: "steelblue"
    border.color: "white"
    border.width: 2

    property string name

    signal trigger(string name)

    Text {
        anchors.centerIn: parent
        text: model.name
    }

    MouseArea {
        anchors.fill: parent
        onClicked: {
            console.log(root.name + ' clicked')
            root.trigger(root.name)
        }
    }
}

您可以连接两个信号Component.onCompleted处理程序。

使用你的代码,它会是这样的:

ListView {
        id: myListView
        width: 100
        height: 600

        model: myModel
        delegate: TheDelegate {
            name: model.name
            Component.onCompleted: {
                trigger.connect(root.componentTriggered)
            }
        }
    }

而不是调用信号componentTriggered您也可以实现一个功能,但这取决于您的要求。无论如何信号都是好的。

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

如何在 QML 中的 ListView 中绑定到来自委托组件的信号 的相关文章

  • ListViewItem 与 CheckBox IsChecked 绑定到 ViewModel

    我有一个带有 DataTemplate 的 ListView 用于为每个 ListViewItem 显示一个复选框
  • Android ListView数组索引过滤后越界

    我认为这是专家的问题 我接到电话getView with positon 出界来自ListView数据列表 当我使用适配器过滤器时会发生这种情况 过滤器publishResults 方法使用小于原始列表的过滤列表填充数据 当新的过滤列表时似
  • 动态显示/隐藏 Xamarin.Forms.ListView 的页眉或页脚

    有没有一种方法可以根据运行时的条件动态显示 隐藏 ListView 的标题
  • 如何在模型更改时停止ListView“跳跃”

    我需要做什么 我需要创建一个聊天窗口用一个ListView在 QML 中存储聊天消息 我设置listView positionViewAtEnd 以便跟踪最后的消息 我禁用positionViewAtEnd当我向上滚动时 我可以阅读过去的消
  • 禁用 QML Slider 的鼠标滚轮

    我希望能够滚动Flickable使用鼠标滚轮 或触摸板上的两根手指 不改变Sliders它可能包含 示例代码及结果应用 import QtQuick 2 7 import QtQuick Window 2 2 import QtQuick
  • Qt 文件对话框默认后缀不起作用

    我将以下代码用于 QtQuick Dialogs 1 3 和 Qt 5 10 0 下 filedialog 的新属性 我使用 Qt Creator 5 10 默认套件构建它 import QtQuick 2 10 import QtQuic
  • 通过列表视图检查动态生成的复选框时遇到问题

    我知道其他成员已经提出了这个问题 一些成员也给出了解决方案 但问题是我没有找到任何适合我的应用程序的解决方案 我正在创建一个应用程序 其中我有一个屏幕 它将显示动态列表视图 其中包含列表项 复选框和三个文本视图 一个用于候选人姓名 另外两个
  • 如何在 Android 中使列表视图中的项目不可点击

    如何使列表视图中的项目无法单击 我在列表视图中获得了主题和项目 但主题和项目的视图相同 项目可单击 但主题不可单击 如何实现这一目标 该列表看起来像 Topic item Topic item item 话题 单击able false 不起
  • Flutter ListView 未更新

    我想在 Flutter 中创建一个 ListView 当新数据到达时它会更新 我正在使用 RefreshIndicator 来触发列表加载以进行测试 对于我的列表 我使用 ListBuilder 将对象映射到视图对象 据我了解 setSta
  • 仅当单击复选框时才更改 ListViewItem 的选中状态

    默认情况下 双击 ListViewItem 会切换其选中状态 我只想通过单击项目的复选框或在突出显示项目时按空格键来更改选中状态 这容易做到吗 该解决方案涉及 3 个事件和 1 个 bool 类型的状态变量 private bool inh
  • 在 Windows 上以 QML 播放 RTSP 视频

    我正在尝试将 QML 中的 RTSP 流播放到视频标签中 如下所示 Repeater model 8 Video Layout fillWidth true Layout fillHeight true fillMode VideoOutp
  • MapItemView 在 dataChanged 信号后不会更新

    我正在使用 QMLMapItemView使用 C 的组件QAbstractListModel基于模型 这MapItemView当模型重置时 或者每当添加新项目或删除现有项目时 工作正常 但是 那MapItemView不反映对已添加项目的更改
  • 如何向 ListView 添加粘性标题?

    我有一个 listView 所以我想添加一个粘性标头 以便它粘在 listView 的顶部 当 listView 中开始不同的类别时 不同的标头会取代它 就像联系人一样 其中 a 为粘性标头位于顶部 直到 b 出现 有没有图书馆可以做 我正
  • android.R.layout.simple_list_item_1是什么?

    在我看到的所有示例中 他们在创建 ArrayAdapter 时仅使用 android R layout simple list item 1 android R layout simple list item 1是什么 它只是一个名为sim
  • 使用信号和槽更新指针

    我对 Qt 很陌生 请帮我解决这个问题 我正在使用线程在后台执行密集操作 同时我想更新 UI 所以我使用 SIGNALS 和 SLOTS 为了更新 UI 我发出一个信号并更新 UI 让我们考虑下面的示例代码 struct sample QS
  • 如何在Android中为很长的列表视图上方设置浮动操作按钮的固定位置?

    我正在开发一个 Android 应用程序 主要用于listview 但我在使用时遇到问题Floating Action Button和 一起Long ListView 我的问题如下 当列表视图只有几个项目时 Floating item看得到
  • 如何使用baseadapter自定义listview

    我想创建一个定制的ListView像这样 我想我必须使用BaseAdapter但我对此一无所知 主要 xml
  • 如何在React-Native中选择ListView的一项?

    我是 React Native 的新手 我想使用 ListView 选择一项 当我第一次按下 item 时 ListView renderRow 被调用 但终究不起作用 我该如何修复这个错误 我的问题出在哪里 我写了一个演示here htt
  • 包含详细信息的列表视图

    我有一个显示客户端列表的Listview 我在Listview中添加了一个onClickListner 以便我可以获得单击客户端的详细信息 ListView l ListView findViewById R id jl l setOnIt
  • listview getChildAt() 返回 null

    我一直在做一个android项目并陷入了一个问题 我用谷歌搜索但没有找到答案 在我的项目中 有一个名为viewsurahfragment它包含一个 id 为的列表视图lv showquran 我想突出显示指定索引处的列表视图的视图 我正在使

随机推荐

  • 有没有办法从 Excel 特定单元格收集数据并发送给 SQL Server?

    我有一个 Excel 表格模板 希望用户每天填写 一张表告诉我哪些单元格正在读 写 意味着我想将哪些单元格发送到我的数据库 该形式不是管状的 即 有时数据被设置 A3 gt A4 或 A3 gt B3 我想知道是否有 Excel 插件或任何
  • OAuth登录完成后重定向到之前的URL(flask-dance)

    我正在开发一个 Flask 应用程序 允许用户使用 OAuth 以 Github 作为提供者 和 Flask dance 库登录 由于某种原因 成功登录后 我无法重定向到我将用户发送到登录页面的页面 当用户尝试连接时 例如http loca
  • c 函数是否可以同时接受 double 和 long double 参数?

    我在文件 mag c 中有一个函数 mag 用于计算数组的大小 include
  • 在Master上触发事件并在Salt Minion上等待“响应事件”

    我想要的是由 Minion 调用的类似 RPC 的行为 并将其放入某种脚本中 然后可以由任何 非 Salt 非 Python 应用程序和服务调用 在Master上触发一个事件 有效负载对应于命令行参数 the Reactor system
  • 创建的 PDF 不反映对原始文档所做的更改

    我有一个 Google 文档模板 它会自动复制到文件夹中 并用电子表格单元格中的值替换特定值 该模板包含诸如以下的值 lt lt 41 gt gt 它们用于 查找并替换 来自电子表格的值 查找和替换过程很好 文档的结果如下图所示 现在 我希
  • 查找特定值的列名或表名

    我想在我的数据库中搜索一个特定的值 但我不知道它到底在哪里 SQL Server中是否存在返回特定值的列名或表名的查询 假设我有一个像 123 这样的列的值 但我不知道 123 属于哪个表 也不知道它的列名称 我可以编写一个查询来查找该值所
  • 纬度/经度转换为 x/y 坐标

    我有一个 openstreetmap 图像 左上角是纬度 80 经度 169 右下角是纬度 56 经度 190 图像的宽度 2618 高度 1513 如何将给定的纬度 经度坐标转换为图片的 x y 坐标 我自己尝试了一下 但不知道如何转换坐
  • CSS 悬停工具提示的 z 索引

    我仅使用 CSS 悬停缩略图
  • 检测 Google Chrome 页面预取

    我正在构建一个简单的工具来跟踪和增加网站的访问次数 这很简单 当服务器收到 GET 请求时 它会将数据库中该网站的计数器加 1 但是 我在使用 Google Chrome 的预渲染引擎时遇到了一些问题 预测网络操作以提高页面加载性能 该网站
  • 将模板与 HTML 自定义元素结合使用

    我刚刚开始学习 HTML 自定义元素 通过阅读一系列介绍 教程和文档 我想我已经很好地掌握了它的工作原理 但我对正确使用或不使用的方法有一个哲学问题这
  • MVC 4 中的部分实体类未显示数据注释

    我已经看到了许多关于如何通过部分类向通过实体框架生成的类添加元数据注释的解释 数据库优先 有人可以告诉我为什么这些新的显示值没有显示在我的视图中吗 这两个都是与我的实体框架生成的类相同的命名空间的一部分 MetadataType typeo
  • 为什么 pip 在我的虚拟环境之外安装软件包?

    在做了虚拟环境的来源之后我尝试 pip install U no deps django social auth 它返回 OSError Errno 13 Permission denied usr local lib python2 6
  • 如何确保 Angular 服务构造函数中的异步初始化完成?

    请专家告诉我 在调用类中的其他函数时 如何确保服务构造函数中的异步初始化完成 constructor var sock new SockJS this chatUrl this stompClient Stomp over sock thi
  • NASM - 如何创建结构指针数组并访问它们

    所以我的问题是这样的 我有一个名为顶点的结构 struc vertex x resq 1 y resq 1 z resq 1 endstruc 我想创建一个指向由该定义组成的结构的指针数组 就像加载顶点表单文件并将它们保存在结构中和数组中的
  • 将图像从 URL 上传到 Firebase 存储

    我想知道如何通过 URL 而不是输入 例如 将文件上传到 Firebase 的存储中 我正在从网站上抓取图像并检索它们的 URL 我想通过 foreach 语句传递这些 URL 并将它们上传到 Firebase 的存储 现在 我有 fire
  • RXJS 拖放

    这个问题与 RXJS 有关 我正在尝试调整 github 中的拖放示例以适用于一类 div 而不仅仅是单个元素 ID https github com Reactive Extensions RxJS blob master example
  • 标记实例变量@private

    我注意到苹果的很多界面都使用 private在它们的实例变量声明之前 这有什么好的设计理由吗 我应该这样做吗 私有实例变量用于将接口与实现分开 在 Objective C 中 由于类声明must显示所有实例变量 需要有一种方法来防止子类访问
  • 实体框架中 IMigrationMetadata 接口的用途和语义

    我试图找出 EF 中 System Data Entity Migrations Infrastruct IMigrationMetadata 接口的语义是什么 我知道它用于管理和应用数据库迁移 但我找不到有关它的详细信息 具体来说我想知道
  • 安卓键盘记录器

    我正在为 Android 编写一个用于考试的应用程序 该应用程序的功能之一是键盘记录器 它可以捕获用户键入的所有内容 我不明白如何实现键盘记录器的功能 如果有可能捕获用户输入的所有内容 不幸的是我在网络中发现了很少的代码 谁能帮我 感谢您的
  • 如何在 QML 中的 ListView 中绑定到来自委托组件的信号

    假设我有一个ListView可点击的委托组件 或GridView or Repeater 这些委托组件需要在触发时发出信号以及自定义数据 该信号可以由父组件拾取ListView 如何实现这种信号结合 例如以下代码是我的尝试 但我不知道如何绑