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按下选中当前项和高亮的一例相关推荐

  1. QML ListView 实现下拉刷新 上拉加载

    目录 1. 简述 2. 代码 2.1 PullListViewV2.qml 2.2 main.qml 1. 简述 QML 中ListView没有自带这个功能,但是提供了自定义页头和页脚组件,控制组件有 ...

  2. Qt5 QML TreeView currentIndex当前选中项的一些问题

    0.前言 Qt5 QML Controls1.4 中的 TreeView 存在诸多问题,比如节点连接的虚线不好实现,currentIndex 的设置和 changed 信号的触发等.我想主要的原因在于 ...

  3. QML ListView几个常用且非常重要的属性

    前言 用 QML 开发界面的好处想必就不用多说了吧,可以总结为一个字:爽. 的确如此,用 QML 可以快速的开发出一些非常酷炫和复杂的界面,并且代码还非常简洁,可读性很强,容易理解. 今天要总结的是关 ...

  4. Android ListView 实现下拉刷新上拉加载

    转载请注明出处:http://blog.csdn.net/allen315410/article/details/39965327 1.简介 无疑,在Android开发中,ListView是使用非常频 ...

  5. android ListView实现下拉上拉刷新功能

    android ListView实现下拉上拉刷新功能 主ListView类: package com.carcare.refresh;/*** @file XListView.java* @packa ...

  6. UWP ListView 绑定 单击 选中项 颜色

    UWP ListView 绑定 单击 选中项 颜色 xaml <Pagex:Class="SuperTools.Views.BlankPage3"xmlns="ht ...

  7. android--------自定义控件ListView实现下拉刷新和上拉加载

    开发项目过程中基本都会用到listView的下拉刷新和上滑加载更多,为了方便重写的ListView来实现下拉刷新,同时添加了上拉自动加载更多的功能. Android下拉刷新可以分为两种情况: 1.获取 ...

  8. android listview 的下拉刷新

    android 实现listview的下拉刷新已经不是什么新鲜问题了,这里我先上图. 运行程序: 看不出这是一个listview或者不知道listview是啥玩意儿的,建议不要往下看了. 然后下拉这个 ...

  9. axure中交互样式设置鼠标悬停后其他的按下选中无效_Axure交互动作

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 axure中交互样式设置鼠标悬停后其他的按下选中无效_交互区域 -- 交互动作 启用情形+交互事件+交互动作 三个部分构成了整个原型的交互逻辑.启用情形是 ...

最新文章

  1. 如果不发论文,我们用什么证明自己的科研实力?
  2. n阶换方c语言程序,求单偶阶与双偶阶幻方编程思想及其算法!
  3. request-promise 获取返回头信息_http返回的状态码 大全
  4. java常见_关于Java的常见误解
  5. Python系列文章
  6. Zabbix 监控之 修改管理员用户密码
  7. Migrations有两个文件迁移数据的方法
  8. html5 单页视差模板,HTML5+CSS3的单页视差模板
  9. 操作系统实验及代码(全)
  10. HLI测试 涉及书籍
  11. 适合ABB和halcon互转——四元数与欧拉角互转方法C#
  12. Knowledge Distillation via Route Constrained Optimization
  13. html标签转换字符类型,java把html标签字符转换成普通字符(反转换成html标签)
  14. Pycharm 快捷键盘
  15. MFC中添加一张图片作为对话框(或CFormView)的背景
  16. 图的深度(DFS)/广度优先搜索算法(BFS)/Dijkstra
  17. 什么是盐加密 为什么使用盐加密密码
  18. Delphi 修改TreeView的节点高度
  19. 苹果mac能安装计算机题库吗,如果苹果系统能安装在普通PC电脑上,你装么?
  20. Isler's WoWUI 全职业WoW原始风格包

热门文章

  1. 微信小程序——云函数三方库request-promise的使用详解
  2. 2022湖南最新建筑八大员(市政)考试试题题库及答案解析
  3. Linux 搭建zookpeer集群和配置
  4. python二级证书考试难度_全国计算机等级考试 python二级考试体验及小技巧总结...
  5. python的pandas重复值处理(duplicated()和drop_duplicates())
  6. Android-内存泄露知识详解
  7. 计算机考试成绩有疑惑,计算机考研疑惑 真的好难受
  8. isEmpty和null区别
  9. 微信公众平台开发过程
  10. HtmlUnit、Jsoup、webmagic基本介绍