QT QML 界面设计教程17——滑动条样式

MySlider.qml

import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Controls.impl 2.12
import QtQuick.Templates 2.12 as Template1Template1.Slider {id: controlproperty bool acceptWheel: true //滚轮滑动   property color handleBorderColor: " lightgrey"     //按钮边框颜色property color handleNormalColor: "black"  //按钮颜色property color handleHoverColor: Qt.lighter(handleNormalColor)property color handlePressColor: Qt.darker(handleNormalColor)property color completeColor: "lightgreen"property color incompleteColor: "lightgrey"implicitWidth: horizontal? 150: 24;implicitHeight: horizontal? 24: 150;//padding把长条背景挤压padding: horizontal? height/4: width/4;handle: Rectangle {x: control.leftPadding + (control.horizontal ? control.visualPosition * (control.availableWidth - width) : (control.availableWidth - width) / 2)y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : control.visualPosition * (control.availableHeight - height))width: control.horizontal?(control.height/2):(control.width)height: control.horizontal?(control.height):(control.width/2)//radius: width/2  //感觉方形比原型更协调点,或许也可以用圆角矩形那种scrollbar的样式color: control.pressed?handlePressColor:control.hovered?handleHoverColor:handleNormalColorborder.width: 1border.color: handleBorderColor}background: Rectangle {//以control.horizontal为例://control.availableHeight为去掉padding的高度//所以如果control很高的话,只根据padding来算y可能就贴着上面//这时候就需要加一部分(control.availableHeight - height) / 2来对齐x: control.leftPadding + (control.horizontal ? 0 : (control.availableWidth - width) / 2)y: control.topPadding + (control.horizontal ? (control.availableHeight - height) / 2 : 0)implicitWidth: control.horizontal ? 200 : 6implicitHeight: control.horizontal ? 6 : 200width: control.horizontal ? control.availableWidth : implicitWidthheight: control.horizontal ? implicitHeight : control.availableHeightradius: 3color: control.incompleteColorscale: control.horizontal && control.mirrored ? -1 : 1//用另一个方块分别已完成和未完成的颜色Rectangle {y: control.horizontal ? 0 : control.visualPosition * parent.heightwidth: control.horizontal ? control.position * parent.width : parent.widthheight: control.horizontal ? parent.height : control.position * parent.heightradius: 3color: control.completeColor}}MouseArea{anchors.fill: parent//避免和handle冲突acceptedButtons: Qt.NoButtononWheel: {if(wheel.angleDelta.y<0){control.decrease();}else{control.increase();}}}
}

调用:

           MySlider{x:20y:90completeColor:"pink"Text {id: name1y:-16text: "滑动值"font.pixelSize: 16color: "lightgrey"}}

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

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

相关文章

告别手工录入,企业财务凭证同步迈入智能新时代!

一、客户介绍 某金融租赁股份有限公司作为一家领先的金融租赁企业&#xff0c;一直秉持着创新驱动、服务至上的经营理念。随着业务的快速发展&#xff0c;该公司在财务管理和凭证管理方面遇到了新的挑战。为了更好地提升工作效率&#xff0c;降低运营成本&#xff0c;该公司决…

Spring两大核心思想 IoC和AoP

目录 ✨ 一、什么是IoC 1、定义 &#x1f38a; 2、IoC思想 &#x1f38a; 3、优势 &#x1f38a; 4、对象的管理 &#x1f38a; 存对象&#xff1a;Component 取对象&#xff1a;AutoWired ✨二、什么是DI 1、定义 &#x1f38a; 2、IoC和DI的关系&#x1f38a; 可…

嵌入式Linux系统编程 — 5.7 Linux系统中proc文件系统

目录​​​​​​​ 1 proc文件系统简介 2 proc 文件系统的使用 2.1 使用 cat 命令读取 2.2 使用 read()函数读取 1 proc文件系统简介 /proc 文件系统&#xff0c;也称为进程信息文件系统&#xff08;Process Information file system&#xff09;&#xff0c;是一种在 Li…

Windows电脑自建我的世界MC服务器并与好友远程联机游戏教程

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

同时在一台服务器上使用Java 8和Java 17的技术指南

目录 引言为什么需要同时使用Java 8和Java 17准备工作 安装Java 8和Java 17设置环境变量 Java版本管理工具 使用update-alternatives命令使用SDKMAN! 配置不同的项目使用不同的Java版本 Maven项目Gradle项目 运行脚本和应用程序 使用脚本指定Java版本通过环境变量指定Java版本…

08:结构体

结构体 1、为什么需要结构体2、如何定义结构体3、怎么使用结构体变量3.1、赋值和初始化3.2、结构体变量的输出 1、为什么需要结构体 为了表示一些复杂的事物&#xff0c;而普通的基本类型无法满足实际要求。什么叫结构体 把一些基本类型数据组合在一起形成的一个新的数据类型&…

高性能全局内存池

什么时候使用高性能全局内存池&#xff1f; 1.高并发下有些资源需要被频繁创建和销毁&#xff0c;我们都知道系统调用是很消耗资源的。因此&#xff0c;内存池是一块申请好的资源放在缓存里。 2.频繁使用时增加了系统内存的碎片&#xff0c;降低内存使用效率。内存分配必须起…

11083 旅游背包(优先做)

这个问题可以使用动态规划来解决。我们可以定义一个三维数组dp&#xff0c;其中dp[i][j][k]表示前i种物品&#xff0c;总体积不超过j&#xff0c;总重量不超过k的最大价值。 我们可以使用四重循环来填充这个数组。外层循环遍历所有的物品&#xff0c;第二层循环遍历所有可能的…

2024软件设计师笔记之考点版(一考就过):考试前一天 考点记忆版

软件设计师之一考就过&#xff1a;成绩版 1、栈区&#xff1a;函数调用和返回&#xff0c;由系统控制&#xff1b;存非静态局部变量&#xff1b;用栈实现嵌套调用&#xff08;递归调用&#xff09;&#xff0c;逆波兰式业绩也叫后缀式&#xff0c;用栈进行求值 2、堆区&#x…

windows创建符号链接

1.进入cmd 2.创建链接到文件的符号链接 mklink 目标文件 源文件 3.创建链接到目录的符号链接 mklink /d 目标文件夹 源文件夹

ES6的新特性有哪些

1. 新增了块级作用域&#xff08;let&#xff0c;const&#xff09; 2. 新增了定义类的语法糖&#xff08;class&#xff09; 3. 新增了一种基本数据类型&#xff08;symbol&#xff09; 4. 新增了解构赋值 5. 新增了函数参数的默认值 6. 给数组新增了API 7. 对象和数组新增了扩…

Big Data Tools插件

一些介绍 在Jetbrains的产品中&#xff0c;均可以安装插件&#xff0c;其中&#xff1a;Big Data Tools插件可以帮助我们方便的操作HDFS&#xff0c;比如 IntelliJ IDEA&#xff08;Java IDE&#xff09; PyCharm&#xff08;Python IDE&#xff09; DataGrip&#xff08;SQL …

【RabbitMQ问题踩坑】RabbitMQ设置手动ack后,消息队列有多条消息,只能消费一条,就不继续消费了,这是为什么 ?

现象&#xff1a;我发送5条消息到MQ队列中&#xff0c;同时&#xff0c;我在yml中设置的是需要在代码中手动确认&#xff0c;但是我把代码中的手动ack给关闭了&#xff0c;会出现什么情况&#xff1f; yml中配置&#xff0c;配置需要在代码中手动去确认消费者消费消息成功&…

教学技能大赛包括哪些内容

在教育的广阔天地里&#xff0c;教师的角色至关重要。他们不仅是知识的传递者&#xff0c;更是学生心灵成长的引导者。那么&#xff0c;当教师们聚集一堂&#xff0c;参加一场教学技能大赛时&#xff0c;会有哪些内容成为他们展示自我、互相学习的舞台呢&#xff1f; 教学技能大…

盛科7132版本编译记录

7132编译总结&#xff1a; 1.新增具有root权限的用户&#xff0c;rootfs系统编译时不能使用root&#xff0c;否则很麻烦&#xff0c;编译出来后命令使用会出问题 useradd zhuwei_new passwd zhuwei_new usermod -aG wheel zhuwei_new nano /etc/pam.d/su 找到以下…

为什么要禁用透明大页面

在安装CDH&#xff08;Clouderas Distribution Including Apache Hadoop&#xff09;环境时&#xff0c;禁用透明大页面&#xff08;Transparent HugePages&#xff0c;THP&#xff09;是一个推荐的系统优化步骤。以下是禁用透明大页面的一些原因&#xff1a; 1. **性能影响**…

瓦罗兰特报错57/error code59/报错903的解决办法

《无畏契约》在注重产品设计之预&#xff0c;也注重世界观、英雄性格的塑造&#xff0c;里面的英雄灵感来源于不同的国家和地区&#xff0c;有非常本土化的特色&#xff0c;每个英雄的性格人设非常鲜明。这些人物特色让这款游戏有了新的玩法。很多玩家都进入到游戏体验。然后有…

SeeSR: Towards Semantics-Aware Real-World Image Super-Resolution

CVPR2024 香港理工大学&OPPO&bytedancehttps://github.com/cswry/SeeSR?tabreadme-ov-file#-licensehttps://arxiv.org/pdf/2311.16518#page5.80 问题引入 因为有些LR退化情况比较严重&#xff0c;所以超分之后的结果会出现语义的不一致的情况&#xff0c;所以本文训…

微信小程序实现双向数据绑定

微信小程序实现了类似Vue.js的双向数据绑定机制&#xff0c;允许你在WXML模板中绑定数据源&#xff0c;并在数据变化时自动更新视图。尽管其内部实现与Vue.js不同&#xff0c;但对开发者而言&#xff0c;使用体验是相似的。 如何在微信小程序中实现双向数据绑定&#xff1a; 定…

Android SurfaceFlinger——系统动画服务启动(十四)

在了解了 SurfaceFlinger、HWC、OpenGL ES 和 EGL 等相关概念和基础信息后,我们通过系统动画的调用流程引入更多的内容。 一、解析init.rc 开机就启动进程,肯定就要从 rc 文件开始。负责开机动画的进程是 bootanimation。 1、bootanim.rc 源码位置:/frameworks/base/cmds…