QML:ListView按下选中当前项和高亮的一例
main.qml
import QtQuick 2.12
import QtQuick.Window 2.0Window
{id:root;visible: true;width: 800; height: 400ListView{id:viewanchors.fill: parentorientation: Qt.Horizontalspacing: 10snapMode: ListView.SnapOneItemmodel:5 //没有特殊数据时使用数字做模型delegate:DelegateItem{}highlight:HighlightDelegateItem{}focus: true}
}
DelegateItem.qml
import QtQuick 2.0
//import Qt5Compat.GraphicalEffects
import QtGraphicalEffects 1.14Rectangle
{id:rootwidth: 50height: 320radius: 25color: ListView.isCurrentItem?"#157efb":"#53d769" //选中颜色设置border.color: Qt.lighter(color, 1.1)Rectangle{id:circolor: "#ffffff"width: 36height: 36radius: 18anchors.horizontalCenter: parent.horizontalCenteranchors.bottom: parent.bottomanchors.bottomMargin: 6}MouseArea{anchors.fill: parentonClicked:{view.currentIndex = index //item切换}}
}
HighlightDelegateItem.qml
import QtQuick 2.0Rectangle
{id:rootwidth: 460 //设置的宽高无效,会被裁剪成项目(委托组件)的大小height: 340radius: 25y: view.currentItem.ycolor: "#ff0000"z:view.z + 2; //高亮委托的组件在最上面
}
DelegateItem.qml加上一个状态:
import QtQuick 2.0
//import Qt5Compat.GraphicalEffects
import QtGraphicalEffects 1.14Rectangle
{id:rootwidth: 50height: 320radius: 25color: ListView.isCurrentItem?"#157efb":"#53d769" //选中颜色设置border.color: Qt.lighter(color, 1.1)Rectangle{id:circolor: "#ffffff"width: 36height: 36radius: 18anchors.horizontalCenter: parent.horizontalCenteranchors.bottom: parent.bottomanchors.bottomMargin: 6}MouseArea{anchors.fill: parentonClicked:{if(root.state == "")root.state = "showDetails"elseroot.state = ""view.currentIndex = index //item切换}}states:[State{name: "showDetails"PropertyChanges { target: root;width: 460;}}]transitions: //设置状态转变的动画[Transition{NumberAnimation//其值为数值类型的动画{duration: 400;properties: "height,width,opacity"}}]
}
QML:ListView按下选中当前项和高亮的一例相关推荐
- QML ListView 实现下拉刷新 上拉加载
目录 1. 简述 2. 代码 2.1 PullListViewV2.qml 2.2 main.qml 1. 简述 QML 中ListView没有自带这个功能,但是提供了自定义页头和页脚组件,控制组件有 ...
- Qt5 QML TreeView currentIndex当前选中项的一些问题
0.前言 Qt5 QML Controls1.4 中的 TreeView 存在诸多问题,比如节点连接的虚线不好实现,currentIndex 的设置和 changed 信号的触发等.我想主要的原因在于 ...
- QML ListView几个常用且非常重要的属性
前言 用 QML 开发界面的好处想必就不用多说了吧,可以总结为一个字:爽. 的确如此,用 QML 可以快速的开发出一些非常酷炫和复杂的界面,并且代码还非常简洁,可读性很强,容易理解. 今天要总结的是关 ...
- Android ListView 实现下拉刷新上拉加载
转载请注明出处:http://blog.csdn.net/allen315410/article/details/39965327 1.简介 无疑,在Android开发中,ListView是使用非常频 ...
- android ListView实现下拉上拉刷新功能
android ListView实现下拉上拉刷新功能 主ListView类: package com.carcare.refresh;/*** @file XListView.java* @packa ...
- UWP ListView 绑定 单击 选中项 颜色
UWP ListView 绑定 单击 选中项 颜色 xaml <Pagex:Class="SuperTools.Views.BlankPage3"xmlns="ht ...
- android--------自定义控件ListView实现下拉刷新和上拉加载
开发项目过程中基本都会用到listView的下拉刷新和上滑加载更多,为了方便重写的ListView来实现下拉刷新,同时添加了上拉自动加载更多的功能. Android下拉刷新可以分为两种情况: 1.获取 ...
- android listview 的下拉刷新
android 实现listview的下拉刷新已经不是什么新鲜问题了,这里我先上图. 运行程序: 看不出这是一个listview或者不知道listview是啥玩意儿的,建议不要往下看了. 然后下拉这个 ...
- axure中交互样式设置鼠标悬停后其他的按下选中无效_Axure交互动作
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 axure中交互样式设置鼠标悬停后其他的按下选中无效_交互区域 -- 交互动作 启用情形+交互事件+交互动作 三个部分构成了整个原型的交互逻辑.启用情形是 ...
最新文章
- 如果不发论文,我们用什么证明自己的科研实力?
- n阶换方c语言程序,求单偶阶与双偶阶幻方编程思想及其算法!
- request-promise 获取返回头信息_http返回的状态码 大全
- java常见_关于Java的常见误解
- Python系列文章
- Zabbix 监控之 修改管理员用户密码
- Migrations有两个文件迁移数据的方法
- html5 单页视差模板,HTML5+CSS3的单页视差模板
- 操作系统实验及代码(全)
- HLI测试 涉及书籍
- 适合ABB和halcon互转——四元数与欧拉角互转方法C#
- Knowledge Distillation via Route Constrained Optimization
- html标签转换字符类型,java把html标签字符转换成普通字符(反转换成html标签)
- Pycharm 快捷键盘
- MFC中添加一张图片作为对话框(或CFormView)的背景
- 图的深度(DFS)/广度优先搜索算法(BFS)/Dijkstra
- 什么是盐加密 为什么使用盐加密密码
- Delphi 修改TreeView的节点高度
- 苹果mac能安装计算机题库吗,如果苹果系统能安装在普通PC电脑上,你装么?
- Isler's WoWUI 全职业WoW原始风格包
热门文章
- 微信小程序——云函数三方库request-promise的使用详解
- 2022湖南最新建筑八大员(市政)考试试题题库及答案解析
- Linux 搭建zookpeer集群和配置
- python二级证书考试难度_全国计算机等级考试 python二级考试体验及小技巧总结...
- python的pandas重复值处理(duplicated()和drop_duplicates())
- Android-内存泄露知识详解
- 计算机考试成绩有疑惑,计算机考研疑惑 真的好难受
- isEmpty和null区别
- 微信公众平台开发过程
- HtmlUnit、Jsoup、webmagic基本介绍