qml中访问控件内部的子项

2024-01-26 08:36
文章标签 访问 控件 内部 qml 子项

本文主要是介绍qml中访问控件内部的子项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如何访问Repeater类型内部的子项、Row等布局类型内部的子项以及ListView内部的子项等。。。

1、测试代码

import QtQuick 2.0
import QtQuick.Controls 2.12
import QtQuick.Window 2.12
import QtQuick.Layouts 1.3
import QtQml 2.12Window {id: windowobjectName: "myWindow"visible: truewidth: 600height: 250title: qsTr("Hello World")Column {spacing: 10// 1、Repeater中项的获取(通过itemAt()方法)Row {spacing: 10Repeater {id: reptmodel: 3Button {text: "button" + indexbackground: Rectangle {color: "green"MouseArea {anchors.fill: parentonClicked: {console.log(index)}}}}}Component.onCompleted: {for (var item = 0; item < rept.count; item++) {console.log(rept.itemAt(item).text)}}}// 2、Row等布局中子项的获取(Item的children属性)Row {id: rowspacing: 10Button {text: "click"}Text {text: "HelloWorld"}Rectangle {width: 100height: 50color: "red"}}Button {text: "获取Row布局中的子项"onClicked: {for (var i = 0; i < row.children.length; i++) {//console.log("===> " + row.children[i])if (row.children[i] instanceof Button) {console.log(row.children[i].text)}}}}// 3、获取ListView中的子项(ListView的contentItem属性)Row {ListView {id: listViewwidth: 100height: 50model: ["AAA", "BBB", "CCC"]delegate: Text {text: index + " " + modelData}}}Button {text: "获取ListView中的子项"onClicked: {for (var i = 0; i < listView.contentItem.children.length; i++) {//console.log(listView.contentItem.children[i])if (listView.contentItem.children[i] instanceof Text) {console.log(listView.contentItem.children[i].text)}}}}}
}

2、效果演示

在这里插入图片描述
在这里插入图片描述

3、其他

关于JavaScript中的 instanceof 运算符的使用,参考 JavaScript变量、数据类型、运算符 一文。

这篇关于qml中访问控件内部的子项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/646213

相关文章

解读静态资源访问static-locations和static-path-pattern

《解读静态资源访问static-locations和static-path-pattern》本文主要介绍了SpringBoot中静态资源的配置和访问方式,包括静态资源的默认前缀、默认地址、目录结构、访... 目录静态资源访问static-locations和static-path-pattern静态资源配置

Java访问修饰符public、private、protected及默认访问权限详解

《Java访问修饰符public、private、protected及默认访问权限详解》:本文主要介绍Java访问修饰符public、private、protected及默认访问权限的相关资料,每... 目录前言1. public 访问修饰符特点:示例:适用场景:2. private 访问修饰符特点:示例:

C#实现WinForm控件焦点的获取与失去

《C#实现WinForm控件焦点的获取与失去》在一个数据输入表单中,当用户从一个文本框切换到另一个文本框时,需要准确地判断焦点的转移,以便进行数据验证、提示信息显示等操作,本文将探讨Winform控件... 目录前言获取焦点改变TabIndex属性值调用Focus方法失去焦点总结最后前言在一个数据输入表单

基于Qt Qml实现时间轴组件

《基于QtQml实现时间轴组件》时间轴组件是现代用户界面中常见的元素,用于按时间顺序展示事件,本文主要为大家详细介绍了如何使用Qml实现一个简单的时间轴组件,需要的可以参考下... 目录写在前面效果图组件概述实现细节1. 组件结构2. 属性定义3. 数据模型4. 事件项的添加和排序5. 事件项的渲染如何使用

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

关于Java内存访问重排序的研究

《关于Java内存访问重排序的研究》文章主要介绍了重排序现象及其在多线程编程中的影响,包括内存可见性问题和Java内存模型中对重排序的规则... 目录什么是重排序重排序图解重排序实验as-if-serial语义内存访问重排序与内存可见性内存访问重排序与Java内存模型重排序示意表内存屏障内存屏障示意表Int

SpringBoot实现基于URL和IP的访问频率限制

《SpringBoot实现基于URL和IP的访问频率限制》在现代Web应用中,接口被恶意刷新或暴力请求是一种常见的攻击手段,为了保护系统资源,需要对接口的访问频率进行限制,下面我们就来看看如何使用... 目录1. 引言2. 项目依赖3. 配置 Redis4. 创建拦截器5. 注册拦截器6. 创建控制器8.

SpringBoot如何访问jsp页面

《SpringBoot如何访问jsp页面》本文介绍了如何在SpringBoot项目中进行Web开发,包括创建项目、配置文件、添加依赖、控制层修改、测试效果以及在IDEA中进行配置的详细步骤... 目录SpringBoot如何访问JSP页python面简介实现步骤1. 首先创建的项目一定要是web项目2. 在

Linux限制ip访问的解决方案

《Linux限制ip访问的解决方案》为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制,具体来说,就是要确保只有指定的内部IP地址能够访问这些服务,所以本文给大家介绍了Linux限制ip访问... 目录背景:解决方案:使用Firewalld防火墙规则验证方法深度了解防火墙逻辑应用场景与扩展背景: