Qml-Item的Id生效范围

Qml-Item的Id生效范围

前置声明

  1. 本实例在Qt6.5版本中做的验证
  2. 同一个qml文件中,id是唯一的,即不同有两个相同id 的Item;当前qml文件中声明的id在当前文件中有效(即如果其它组件中传入的id,与当前qml文件中id 相同,当前qml文件中id生效)
  3. 在父级qml文件中声明的id,可以传递给子集的qml文件中使用
  4. 实例由4个qml文件组成:主qml ( ItemIdScopeTest.qml): 由3个子qml组件元素;子qml1(ItemIdGDataPro.qml)定义了一个纯属性的Item,另两个子qml(ItemIdComponent_1.qml,ItemIdComponent_2.qml)中由一个Rectangle元素组成

Item Id生效范围 实例代码

  1. ItemIdGDataPro.qml文件,定义了id名称和两个color属性, 代码如下:
import QtQuick
//由于测试Item中id 作用范围和影响
Item{id:idGDataProproperty color reColor1: "blue"property color reColor2: "green"onReColor1Changed: {console.log("reColor___1   Changed");}onReColor2Changed: {console.log("reColor___2   Changed");}}

2.ItemIdComponent_1.qml 文件内容如下

	import QtQuick
//用于测试Item中id 作用范围和影响
Item{ItemIdGDataPro{id:idGDataProproperty color reColor1: "blue"}Rectangle{id:idComp1width: 100height: 100color: idGDataPro.reColor1}
}

3.ItemIdComponent_2.qml 文件内容如下

import QtQuick//由于测试Item中id 作用范围和影响
Item{Rectangle{id:idComp2width: 100height: 100//Comp2 中 idGDataPro.reColor2color: idGDataPro.reColor2}
}

3.ItemIdScopeTest.qml 文件,使用其它3个 子qml 元素,内容如下

import QtQuick//由于测试Item中id 作用范围和影响。
//1.在同一个qml中不能有Item 有相同的id;
//1.在qml文件中,定义的id 优先级最高
//2.在父qml文件中,设置其它Item的id,包含在父qml文件中其它组件所在qml中可以使用此id的属性Item{height: 480width: 320Rectangle{anchors.fill: parentItemIdGDataPro{id:idGDataPro}ItemIdComponent_1{id:idComp1x:20y:20}ItemIdComponent_2{id:idComp2x:150y:20}}
}

结果:
1.ItemIdScopeTest.qml 文件中定义的Id,可以在ItemIdComponent_2.qml中使用;
2.ItemIdComponent_1.qml 中定义了相同Id名称的“ idGDataPro”,在ItemIdComponent_1.qml文件中就使用了自身定义的“idGDataPro”;
3.实验验证方式:可以通过添加onXXXChanged() 函数(XXX代表定义的属性),来验证是哪个对应属性发生了改变

Item Id生效范围效果

1.可验证:
a.主qml中不定义ItemIdGDataPro 对象,,在子qml组件中使用ItemIdGDataPro 的属性效果。
b.主qml中定义ItemIdGDataPro 对象,,在某个子qml组件中定义主qml同样属性Id的对象,修改主qml中ItemIdGDataPro 对象属性值,查看是否影响子qml中属性值。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/56933.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国庆旅游高峰期,如何利用可视化报表来展现景区、游客及消费数据

国庆黄金周,作为国内旅游市场的年度盛宴,总是吸引着无数游客的目光。今年,随着旅游市场的强劲复苏,各大景区又再次迎来游客流量的高峰。全国国内出游7.65亿人次,同比增长5.9%,国内游客出游总花费7008.17亿元…

Java | Leetcode Java题解之第485题最大连续1的个数

题目&#xff1a; 题解&#xff1a; class Solution {public int findMaxConsecutiveOnes(int[] nums) {int maxCount 0, count 0;int n nums.length;for (int i 0; i < n; i) {if (nums[i] 1) {count;} else {maxCount Math.max(maxCount, count);count 0;}}maxCou…

一起搭WPF架构之livechart的MVVM使用介绍

一起搭WPF架构之livechart使用介绍 前言ModelViewModelView界面设计界面后端 效果总结 前言 简单的架构搭建已经快接近尾声了&#xff0c;考虑设计使用图表的形式将SQLite数据库中的数据展示出来。前期已经介绍了livechart的安装&#xff0c;今天就详细介绍一下livechart的使用…

前三章例题【现代控制理论】

【现代控制理论-状态空间方程能观性分解】https://www.bilibili.com/video/BV1KU4y1N7jV?p17&vd_source3cc3c07b09206097d0d8b0aefdf07958

2024CSP-J模拟赛9————S12678

一&#xff0c;赛中得分 T1100T2100T350T440总分290 二&#xff0c;赛中概括 T1T2较快过&#xff0c;T3T4骗了90分&#xff08;意料之中&#xff0c;这么好骗分&#xff01;&#xff01;&#xff01;&#xff09;。 三&#xff0c;题目解析 涂格子(paint) 问题描述 现在有…

前端Socket互动小游戏开发体验分享

随着实时网络通信技术的不断发展&#xff0c;基于WebSocket的前端互动小游戏成为了一种非常流行的选择。WebSocket允许客户端和服务器之间进行双向通信&#xff0c;为游戏互动带来了更快的响应时间和更流畅的体验。本文将通过一个简单的互动小游戏来探讨前端如何利用WebSocket技…

LeetCode 19 - 删除链表的倒数第N个节点

题目描述 给你一个链表&#xff0c;删除链表的倒数第 N 个节点&#xff0c;并且返回链表的头结点。 例如&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5]解题思路 我们可以使用双指针的方法来解决这个问题。主要思路是使用两个指针fsat和…

如何下载3GPP协议?

一、进入3GPP网页 https://www.3gpp.org/ 二、点击“Specifications &Technologies” 三、点击“FTP Server” 网址&#xff1a; https://www.3gpp.org/specifications-technologies 四、找到“latest”&#xff0c;查看最新版 网址&#xff1a; https://www.3gpp.org/ftp…

Python 多线程学习与使用

Python 多线程学习与使用 目录 引言&#xff1a;为什么需要多线程&#xff1f;Python中的线程基础 2.1 什么是线程&#xff1f; 2.2 Python的threading模块 2.3 创建和启动线程线程同步与互斥 3.1 竞态条件 3.2 锁&#xff08;Lock&#xff09; 3.3 可重入锁&#xff08;RLoc…

【jQuery】jQuery 处理 Ajax 以及解决跨域问题的方式

文章目录 HTTP原生创建 AjaxjQuery 处理 Ajax$.ajax()$().load()$.get()$.post() 跨域CORSJSONPiframeweb sockets HTTP 超文本传输协议&#xff08;HTTP&#xff0c;HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。设计 HTTP 最初的目的是为了提供一种发…

计算机网络易混知识点

1.以太网采用曼彻斯特编码&#xff1b;以太网帧最短为64B&#xff0c;其中14个B首部(目的MAC-6B&#xff0c;源MAC-6B&#xff0c;类型-2B)4B尾部 2.OSI协议中&#xff0c;每一层为上一层提供服务&#xff0c;为下一层提供接口 3.帧序号的比特数表示的是发送窗口的大小&#…

LabVIEW提高开发效率技巧----离线调试

离线调试是LabVIEW开发中一项重要的技巧&#xff0c;通过使用Simulate Signal Express VI生成虚拟数据&#xff0c;开发者能够有效减少对实际硬件的依赖&#xff0c;加速开发过程。这种方法不仅可以提高开发效率&#xff0c;还能降低成本&#xff0c;增强系统的灵活性。 ​ 离…

SQL 自学:事务处理的COMMIT 和 ROLLBACK 语句的运用

在 SQL 中&#xff0c;事务处理是确保数据库操作的完整性和一致性的重要机制。事务可以看作是一组作为一个单元执行的数据库操作&#xff0c;要么全部成功提交&#xff08;COMMIT&#xff09;&#xff0c;要么全部回滚&#xff08;ROLLBACK&#xff09;到事务开始之前的状态。 …

前端性能优化之概述篇

对于前端开发来说,性能优化老生常谈了。不管是日常工作中,还是涉及到晋级答辩,性能都是频繁被我们提及的一个话题。 性能优化不是一劳永逸的解决方案,项目在发展过程,代码不断地迭代和变更。我们在某个阶段优化过的代码,过段时间性能又会慢慢下降,这也是前端开发常把性…

从零开始使用最新版Paddle【PaddleOCR系列】——第二部分:自建数据集 + 模型微调训练

目录 一、自建数据集 1.官方数据集格式参考 2.自建数据集txt文件编写代码 3.数据集检验 二、模型训练 1.模型配置yaml文件 2.命令行指令训练 在上一篇文章中&#xff0c;构建好了paddleOCR 运行必需的环境&#xff0c;并通过在线下载的方式&#xff0c;使用官方训练好的模型进…

架构师备考论文-面向服务的架构设计与应用

题目 在面向服务的架构&#xff08;Service-Oriented Architecture&#xff0c;SOA&#xff09;中&#xff0c;服务的概念有了延伸&#xff0c;泛指系统对外提供的功能集。例如&#xff0c;在一个大型企业内部&#xff0c;可能存在进销存、人事档案和财务等多个系统&#xff0c…

OpenCV图像处理——查找线条的转折点

问题描述 图像中有一条线&#xff0c;如何判断这条线的转折点&#xff1f; 比如下面一张图&#xff1a; 目的是找到图中的三个转折点。 要在图像中检测线的转折点&#xff0c;可以通过分析线的几何形状来完成。这通常需要首先提取线的轮廓&#xff0c;然后根据曲率、角度变化…

D42【python 接口自动化学习】- python基础之函数

day42 高阶函数 学习日期&#xff1a;20241019 学习目标&#xff1a;函数&#xfe63;- 55 高阶函数&#xff1a;函数对象与函数调用的用法区别 学习笔记&#xff1a; 函数对象和函数调用 # 函数对象和函数调用 def foo():print(foo display)# 函数对象 a foo print(a) # &…

JavaWeb Servlet--09深入:注册系统05---动态搜索栏

动态搜索栏 分析&#xff1a;在显示用户信息的表单里有一个下拉框选择用户的信息&#xff0c;一个文本框进行输入&#xff0c;一个按钮就行搜索&#xff0c;在下拉框选择了性别或许姓名的某一个包含字就会返回所有满足的用户。在controller层进行接收选择的搜索条件&#xff0…

三菱PLC伺服-停止位置不正确故障排查

停止位置不正确时&#xff0c;请确认以下项目。 1)请确认伺服放大器(驱动单元)的电子齿轮的设定是否正确。 2&#xff09;请确认原点位置是否偏移。 1、设计近点信号(DOG)时&#xff0c;请考虑有足够为0N的时间能充分减速到爬行速度。该指令在DOG的前端开始减速到爬行速度&…