效果如下

提供了一个array来作为Listview的Model;

代码如下

带有小箭头的矩形用cavas来实现。通过修改本代码可以实现很多效果。

import QtQuick 2.7
import QtQuick.Controls 2.2
import QtGraphicalEffects 1.0
import QtQuick.Layouts 1.3Item {id: controlimplicitWidth: 174implicitHeight: 144property real radius:6property var modelText : ["按名称","按时间","按大小"]Canvas{id: warnCanvasanchors.fill: parentvisible: falseproperty real margins: 6property real arrowWidth: 12property real arrowHeight: 20onPaint: {var ctx = getContext("2d");var px = margins;var py = margins;ctx.beginPath();ctx.arc(px + control.radius, margins + control.radius,control.radius, Math.PI, Math.PI * 3 / 2, false);// 主体的右上角(圆弧)ctx.arc(width -arrowHeight - margins - control.radius, margins + control.radius,control.radius, -Math.PI / 2, 0, false);py = 30;px = width -arrowHeight - marginsctx.lineTo(px, py);py += arrowHeight/2px += arrowWidthctx.lineTo(px, py);py += arrowHeight/2px -= arrowWidthctx.lineTo(px, py);// 主体的右下角(圆弧)ctx.arc(width -arrowHeight- margins - control.radius, height - margins - control.radius,control.radius, 0, Math.PI / 2, false);// 主体的左下角(圆弧)ctx.arc(margins + control.radius, height - margins - control.radius,control.radius,  Math.PI / 2, Math.PI, false);px = margins;py = margins+control.radius;ctx.lineTo(px, py);ctx.closePath();ctx.lineWidth = 1;ctx.lineCap = "butt";ctx.strokeStyle = Qt.rgba(255, 255, 255, 0.2);ctx.lineJoin = "miter";ctx.stroke();ctx.fillStyle = Qt.rgba(255, 255, 255, 0.16);ctx.fill();}}Glow {id: warnCanvasEffectanchors.fill: warnCanvasradius: 10spread: 0.2color: "#19FFFFFF"source: warnCanvassmooth: truecached: true}ListView{id:selectViewanchors.margins: 20anchors.fill: parentspacing: 8clip: true//interactive: falseListModel {id: selectMode}model: selectModedelegate: Item{id:wrapperwidth:control.width-40-12height:(control.height-40-8)/2Text{id: text1anchors.centerIn: parenttext: modelDatafont{family: "Arial"; bold: true; pointSize: 20}color:  wrapper.ListView.isCurrentItem ? "#fff" : "#A3FFFFFF"MouseArea{anchors.fill: parentonClicked:{selectView.currentIndex = index;console.log("myclicked")}}}Rectangle{id:linewidth: parent.widthheight: 1color:  "#A3FFFFFF"anchors.bottom: parent.bottomanchors.bottomMargin: -4anchors.horizontalCenter: parent.horizontalCentervisible: index != (selectMode.count-1)}}}Component.onCompleted:{for(var i=0;i< modelText.length;i++){selectMode.append({"name": modelText[i]})}}}

qml 实现按钮样式( 带个小三角)相关推荐

  1. excel怎么转换成带绿色小三角的文本格式,并批量操作

    遇到个小问题,右键设置单元格式--文本,进行导入时会格式错误.所以采用了以下解决方式:转换成带绿色小三角的文本格式 步骤:数据 --> 分列 --> 分列 --> 下一步 --> ...

  2. ElementUI之el-pagination样式修改(小三角、“前往”、页码数)

    需求:设计给的 UI 如图 众所周知,el-pagination原本样式是这样式的: 注意看,不一样的地方: 小三角样式不一样,需要实心的 "前往" 二字改成了 "跳到& ...

  3. el-dropdown下拉菜单样式修改,去掉小三角

    修改后样式如下: 修改样式在带有scoped的style标签内是无效的 另写一个style标签,不要加scoped 具体代码如如下: .el-dropdown-menu {background-col ...

  4. ionic页面footer按钮右下方的小三角实现

    之前的这篇博客被问到,如何实现footer按钮右下方的小三角: 下面给出html代码和css样式: <ion-footer-bar class="bar-footer bar-bala ...

  5. html css 带图标按钮,Bootstrap带图标的按钮样式

    这是一款基于bootstrap的带图标的按钮样式.这组按钮在bootstrap按钮的基础上,通过附加的HTML元素来构建小图标,并通过CSS3来制作鼠标hover动画效果. 使用方法 在页面中引入bo ...

  6. CSS按钮样式,带代码传送门

    1. Plastic Buttons 这组按钮相当的简洁.干净.由于它们拥有不同的颜色.尺寸以及风格,并提供了小.中.大号按钮供你任意挑选.所以,你可以轻松地重新调整或更换它们.而利用纯 CSS 的实 ...

  7. button按钮样式_各种好看的小按钮合集,纯css编写,最近在学习时遇到的,记录成为笔记...

    写在前面 最近忙着实习的事,前往广州,租房,置办东西等等.用碎片化的时间看了一些博客,也看到不少我认为很不错的通过纯css来打造的按钮样式.记录下来以后开发的时候或许能用上. 亮起来按钮 < 简 ...

  8. uniapp 实现微信小程序全局分享及自定义分享按钮样式

    uniapp 实现微信小程序的全局 转发给好友/分享到朋友圈 的功能.主要使用 Vue.js 的 全局混入 概念. 下面直接上 实现步骤和代码: 创建全局分享内容文件 1.创建一个全局分享的 js 文 ...

  9. 滑动门套滑动门css,JS+CSS实现带小三角指引的滑动门效果

    本文实例讲述了JS+CSS实现带小三角指引的滑动门效果.分享给大家供大家参考.具体如下: 这是一款JS+CSS带小三角指引的滑动门,有朋友说在IE6下看不到效果,其实能看到,因为那个小三角颜色比较淡, ...

最新文章

  1. linux 用户java_linux之用户管理
  2. RDKit | 基于机器学习的化合物活性预测模型
  3. (转自ITAA)个人问题汇总(workatlab)
  4. (传送门)2/dev/null和/dev/null 21和21/dev/null
  5. kvm.huge页、常用命令和桥接设置
  6. codelite在 ubuntu6.04下开启C++11支持
  7. sync.Map 源码学习
  8. 花30万买鸿蒙汽车,值吗?
  9. jQuery.Validate验证库
  10. ocp mysql考试介绍_Oracle OCP OCM 和 Mysql OCP考试详情介绍
  11. 1.命令行窗口(小黑屏)、CMD窗口、终端、shell、DOS窗口
  12. 第1章 操作系统引论课后答案
  13. (八)、MultipartFile
  14. QQ自动发消息源代码
  15. 十大管理概念(背诵)
  16. c语言设计程序实现顺序冒泡_C语言学习 顺序程序设计
  17. 互联网+国家战略-整理
  18. 月亮搭配忧郁蓝色系海报设计模板
  19. Linux系统常用命令:CentOS,RedHat包的安装和卸载
  20. 超火表白代码,心心(html+css)

热门文章

  1. 启动Windows Installer
  2. Tableau(1):绘制条形图、堆积图、直方图
  3. 论文实验图片局部放大工具(可批量操作)
  4. 示波器抓板子串口,波形错误,杂乱无章
  5. 《深入浅出DPDK》读书笔记(十六):DPDK应用篇(基于DPDK的存储软件优化:SPDK)
  6. Java I/O读取和解析.emp文件示例
  7. Python函数定义练习:解一元二次方程
  8. 消除WORD中的域连接
  9. 无线传输距离计算公式
  10. 构建自己的 Qt 插件系统