QML学习一、GridView的使用和增加添加动画、删除动画

一、效果预览

在这里插入图片描述

二、源码分享

import QtQuick
import QtQuick.ControlsApplicationWindow {visible: truewidth: 640height: 480title: "Test"property int cnt:cnt = model.countListModel{id:modelListElement{index:0}ListElement{index:1}ListElement{index:2}ListElement{index:3}}GridView{id:gridViewanchors.fill: parentmodel: modelcellWidth: 50cellHeight: 50anchors.margins: 20delegate: delegateModelonAddChanged: console.log("add")}Component{id:delegateModelRectangle{id:wapperwidth: 40height: 40color: "red"required property int indexText {anchors.fill: parenttext: indexhorizontalAlignment: Text.AlignHCenterverticalAlignment: Text.AlignVCenterfont{pixelSize: 16bold:true}}GridView.onAdd:{console.log("add")addAnim.start()}GridView.onRemove:{console.log("remove")removeAnim.start()}ScaleAnimator{id:addAnimtarget: wapperfrom:0to:1duration: 200}SequentialAnimation{id:removeAnimPropertyAction{target: wapperproperty: "GridView.delayRemove"value:true}ScaleAnimator{target: wapperfrom:1to:0duration: 200}PropertyAction{target: wapperproperty: "GridView.delayRemove"value:false}}MouseArea{anchors.fill: parentonClicked: {model.remove(index)cnt--}}}}Button{anchors.bottom: parent.bottomwidth: parent.widthheight: 40onClicked: {var data = {index:cnt}model.append(data)cnt++}}}

三、源码解析

1、添加动画

 GridView.onAdd:{console.log("add")addAnim.start()}
ScaleAnimator{id:addAnimtarget: wapperfrom:0to:1duration: 200}

2、删除动画

GridView.onRemove:{console.log("remove")removeAnim.start()}SequentialAnimation{id:removeAnimPropertyAction{target: wapperproperty: "GridView.delayRemove"value:true}ScaleAnimator{target: wapperfrom:1to:0duration: 200}PropertyAction{target: wapperproperty: "GridView.delayRemove"value:false}}

删除动画尤为重要,要按照这个格式设置才行,否则无效果。

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

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

相关文章

沉默是金,寡言为贵

​ 佛说:“人受一句话,佛受一柱香。”佛教的十善,其中有关口德就占了四样:恶口、妄语、两舌、绮语,可见口德是很重要的。言为心声,能说出真心的话,必然好听;假如说话言不由衷&#x…

ArkTS-日期滑动选择器弹窗

日期滑动选择器弹窗 根据指定的日期范围创建日期滑动选择器,展示在弹窗上。 示例 lunar: 接受一个boolean值,日期是否显示为农历。 Entry Component struct DatePickerDialogExample {selectedDate: Date new Date("2010-1-1")Sta…

Linux Centos系统安装Mysql8.0详解

本文是基于服务器Linux Centos 8.0系统 安装 Mysql8.0真实运维工作实战为例,详细讲解安装的全过程。 1,检查卸载mariadb Mariadb数据库是mysql的分支,mariadb和mysql会有冲突,所以安装Mysql前,首先要检查是否安装了m…

IMU传感器用于智能假肢

截肢会给截肢者们带来生活上的不方便和极大痛苦,因此假肢的优化一直被关注着。近期,一项关于新型智能膝关节的研究,让假肢能更好地模拟自然膝关节,给截肢者们带来了希望。 此款假肢内置IMU传感器,减少了截肢者所需的肌…

IDEA2022 Git 回滚及回滚内容恢复

IDEA2022 Git 回滚 ①选择要回滚的地方,右键选择 ②选择要回滚的模式 ③开始回滚 ④soft模式回滚的内容会保留在暂存区 ⑤输入git push -f ,然后重新提交,即可同步远程 注意观察IDEA右下角分支的标记,蓝色代表远程内容未同步到本…

java学习part25多线程

132-多线程-程序、进程、线程与并行、并发的概念_哔哩哔哩_bilibili 1.概念 2.共享内容 只有线程间能通信,进程之间不共享内容。 3.继承thread的多线程 相当于golang里先写一个线程函数run(),子类对象调用start()相当于go关键字 相当于go run() package thread;/…

沿着马可·波罗的足迹,看数字云南

刚入行的时候,有位前辈跟我说过一句话:去现场“要像外国人一样去看”,重新审视那些自己可能早已“熟视无睹”的事物。 前不久,我跟随“看见数字云南——云南数字经济媒体探营活动”,奔赴昆明、大理、西双版纳等地&…

Spring-Mybatis源码解析--手写代码实现Spring整合Mybatis

文章目录 前言一、引入:二、准备工作:2.1 引入依赖2.2 数据源的文件:2.1 数据源: 2.3 业务文件: 三、整合的实现:3.1 xxxMapper 接口的扫描:3.2 xxxMapper 接口代理对象的生成:3.2 S…

VMD-Attention-LSTM 价格预测实战

VMD-Attention-LSTM时间序列价格预测实战 完整数据代码可直接运行_哔哩哔哩_bilibili 数据展示:数据有几万条 足够的 主要模型代码: import tensorflow as tfdef attention_3d_block(inputs,TIME_STEPS,SINGLE_ATTENTION_VECTOR):# inputs.shape = (batch_size, time_steps,…

AT24C02数据读取异常问题(0xFF)

文章目录 问题描述解决方法总结 2023/11/29 问题描述 使用AT24C02模块,写入数据后立刻读取,读取到的数据出现异常,异常值为0xFF。 例如我们在主函数里,首先调用AT_Write函数往模块的0地址写入一个数据,接着多次调用AT…

leetcode:用栈实现队列(先进先出)

题目描述 题目链接:232. 用栈实现队列 - 力扣(LeetCode) 题目分析 我们先把之前写的数组栈的实现代码搬过来 用栈实现队列最主要的是实现队列先进先出的特点,而栈的特点是后进先出,那么我们可以用两个栈来实现&…

DV、OV、EV证书

在保护您的网站并建立用户信任时,SSL证书起着关键作用。不同的SSL认证级别提供了不同的安全性和验证程度。在选择SSL证书时,了解DV(域名验证)、OV(组织验证)和EV(扩展验证)证书的差异…