QT应用篇 三、QML自定义显示SpinBox的加减按键图片及显示值效果

QT应用篇

一、QT上位机串口编程
二、QML用Image组件实现Progress Bar 的效果
三、QML自定义显示SpinBox的加减按键图片及显示值效果


文章目录

  • QT应用篇
  • 前言
  • 一、qml需求
  • 二、使用组件
    • 1.SpinBox组件
    • 2.SpinBox中QML的使用
  • 总结


前言

记录自己学习QML的一些小技巧方便日后查找

QT的 qml 使用SpinBox来自定义图片来达到花里胡哨的效果


一、qml需求

上位机需要用到SpinBox并需要一些特别的效果及位置的调整

例如:

在这里插入图片描述

二、使用组件

1.SpinBox组件

原始代码如下:

import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Shapes 1.12
import QtMultimedia 5.12
...
...
...SpinBox {id: spinBoxx: -164y: 393from: 0to:outFlowSpinBox.valuestepSize: 2}

原始代码效果:
在这里插入图片描述

2.SpinBox中QML的使用

SpinBox允许用户通过单击向上或向下指示按钮,或通过按键盘上的向上或向下来选择一个整数值。另外,SpinBox也可以是可编辑的,这样用户就可以在输入字段中输入文本值。默认情况下,SpinBox提供[0-99]范围内的整数值,步数stepSize为1。

属性:

down.pressed : bool,只读属性,返回true,表示向下指示按钮被点击了.
down.indicator : Item,向下指示按钮指标器,可以重写它自定义样式
down.hovered : bool,只读属性,返回true,表示鼠标徘徊在向下指示按钮的上方
editable : bool,输入字段是否可以编辑,默认为false
from : int,此属性保存范围的起始值。默认值为0。
inputMethodHints : flags,用来提示QML键盘应该输入的类型的值
stepSize : int,步长
textFromValue : 由整数值切换为显示文本时的函数,函数可以有一个或两个参数,第一个参数是要转换的值,第二个可选参数是用于转换的区域设置,可以重写它,让我们显示自定义数值文本
to : int,此属性保存范围的结束值。默认值为99。
up.pressed : bool,只读属性,返回true,表示向上指示按钮被点击了.
up.indicator : Item,向上指示按钮指标器,可以重写它自定义样式
up.hovered : bool,只读属性,返回true,表示鼠标徘徊在向上指示按钮的上方
validator : Validator,输入字段编辑的验证器,必须editable为true,并且SpinBox默认是用IntValidator来接受整数的输入,我们也可以改为DoubleValidator,这样就可以写浮点数了
value : int,当前值,默认值为0。
valueFromText : function,由当前显示的内容切换为整数值的函数,函数可以有一个或两个参数,第一个参数是要转换的text,第二个可选参数是用于转换的区域设置,可以重写它,来获取显示的自定义文本对应的数值


代码示例:(仅显示组件关键代码)

Rectangle {x: 101y: 85width: 86height: 109color: "#00e7eff4"radius: 4TextBase {x: -90y: -91color: "#1e2a64"text: {if (SpinBox1.value < 10 ){return qsTr("0") + SpinBox1.value}else{return SpinBox1.value}}font.bold: trueanchors.fill: parentfont.pixelSize: 75}}SpinBox {id: SpinBox1x: -11y: 6down.indicator: Rectangle {x: 39y: 125width: 50height: 43color: "#00000000"Image {x: 0y: 0width: 35height: 43source: {if (SpinBox1.down.pressed == true){return resourcesPath + "minus_pressed.png"}else{return resourcesPath + "minus.png"}}}}up.indicator: Rectangle {x: 213y: 125width: 50height: 43color: "#00000000"Image {x: 0y: 0width: 35height: 43source: {if (SpinBox1.up.pressed == true){return resourcesPath + "plus_pressed.png"}else{return resourcesPath + "plus.png"}}}}enabled:  true}to: 10anchors.fill: parenteditable: truefrom: 1background: Rectangle {color: "#0007263a"anchors.fill: parent}stepSize: 1contentItem: TextBase {x: 0y: 0visible: falseanchors.fill: parent}value: 5}

实际效果:
在这里插入图片描述

总结

通过使用Image组件的fillMode来实现想要的功能

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

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

相关文章

Python魔法方法之__getattr__和getattribute

在Python中有这两个魔法方法容易让人混淆&#xff1a;__getattr__和getattribute。通常我们会定义__getattr__而从来不会定义getattribute&#xff0c;下面我们来看看这两个的区别。 __getattr__魔法方法 class MyClass:def __init__(self, x):self.x xdef __getattr__(self, …

【起草】【第十二章】定制ChatGPT数字亲人

身为普普通通的我们&#xff0c;不知道亲人们在哪一天就要离开这个世界 &#xff1f; 作为普普通通的程序员&#xff0c;我们可以为我们的亲人做点什么 &#xff1f; 让他们以数字资产形式留在人世间 ? 对话&#xff5c;6岁女孩病逝捐器官&#xff0c;妈妈&#xff1a;她去…

【ROS2】MOMO的鱼香ROS2(一)ROS2入门篇——从Ubuntu操作系统开启

从Ubuntu操作系统开启 引言1 术语汇总2 Ubuntu &#xff08;操作系统&#xff09;2.1 Ubuntu权限管理2.2 Ubuntu安装软件2.2.1 使用apt命令安装2.2.2 dpkg安装deb包2.2.3 make install源代码安装 2.3 Ubuntu之常用指令2.3.1 ls命令&#xff08;查看文件&#xff09;2.3.2 cd 命…

2024任务驱动Java程序设计讲课提纲

文章目录 为何采用任务驱动&#xff1f;任务驱动Java程序设计课程概述项目一&#xff1a;踏上Java开发之旅任务1&#xff1a;安装配置JDK并开发第一个Java程序1、安装JDK2、配置JDK环境变量3、开发第一个Java程序 任务2&#xff1a;搭建Java集成开发环境IntelliJ IDEA1、安装In…

07|输出解析:用OutputParser生成鲜花推荐列表

07&#xff5c;输出解析&#xff1a;用OutputParser生成鲜花推荐列表 模型 I/O Pipeline 下面先来看看 LangChain 中的输出解析器究竟是什么&#xff0c;有哪些种类。 LangChain 中的输出解析器 语言模型输出的是文本&#xff0c;这是给人类阅读的。但很多时候&#xff0c;你…

livox avia平台搭建

硬件平台搭建 硬件平台的搭建除了livox雷达外还需要以下物料 焊接12V稳压模块接口 livox雷达需要12V的稳定电压供电,因此需要在电池与雷达之间加入8-35V转12V的稳压模块 组装 将各组建组装起来即可。 220V交流电供电 电池供电

谷歌Linux内核自动测试平台架构介绍-用自动测试测试难以测试的问题

1 摘要 内核和硬件等低级系统已被证明极难进行有效测试&#xff0c;因此&#xff0c;许多内核测试都是以手动为主方式进行的。现有的大多数测试框架都是为测试与底层平台隔离的高级软件而设计的&#xff0c;而底层平台被假定是稳定可靠的。测试底层平台本身需要一套全新的假设…

研究:同样的C++模板在多个cpp里出现,编译器是否要重复生成?

2023年就要过去&#xff0c;马上要跨如2024年。祝大家在新的一年&#xff0c;有个好收成。 一直以来不是很确定&#xff1a; 同样的的模板&#xff0c;在各个cpp分别出现&#xff0c;编译器要实现几份&#xff1f; 研究一下。 用命令行的编译方法&#xff0c;参考&#xff1a…

使用react+vite开发项目时候,部署上线后刷新页面无法访问解决办法

说一下我这边的环境和使用的路由模式&#xff1a;vitereactBrowserRouter路由模式&#xff0c;所以如果你和我一样的话&#xff0c;可以试试我的这种解决办法&#xff0c;我是将项目打包后直接丢到服务器上的目录里面&#xff0c;然后配置nginx直接访问根目录。 我的nginx配置…

Java 类型转换

自动 1 短的变长的 2 表达式的自动类型转换 多种数据类型参与运算&#xff0c;其结果以大的数据类型为准byte, short, char 三种类型数据在和其他类型数据运算时&#xff0c;都会转换为int类型再运算&#xff08;byte byte也会是int int&#xff09; 强制 前面我们学习了自…

Python中matplotlib使用3

在matplotlib中&#xff0c;可以将数据用离散的点来表示&#xff0c;这种表示方式叫做散点图。 1 基本的散点图 可以使用matplotlib.pyplot库中的scatter()方法绘制散点图&#xff0c;代码如图1所示。 图1 绘制基本散点图的代码 从图1中可以看出&#xff0c;scatter()方法的…

【操作系统xv6】学习记录1

前置说明&#xff1a; git-v9版本&#xff1a;git clone https://github.com/mit-pdos/xv6-public/tree/xv6-rev9 bili:https://www.bilibili.com/video/BV15r4y1z75F 深圳大学罗秋明老师的课程 我自己用的wsl2的ubuntu18 无桌面版本 make qemu-nox bug 起初在双系统的ubuntu…

【HR非技术问题面试篇】你怎么看待加班?

你对加班怎么看待? &#x1f60a;老油条经典回答系列 &#x1f60a;老油条经典回答系列 这种问题&#xff0c;怎么回答都可以&#xff0c;我觉得重要的实时表达你自己。如果你就不想加班&#xff0c;也没必要勉强说自己爱加班&#xff0c;结果入职之后干的不开心。 不过&…

大数据应用领域:数据驱动一切

大数据出现的时间只有十几年&#xff0c;被人们广泛接受并应用只有几年的时间&#xff0c;但就是这短短几年的时间&#xff0c;大数据呈现出爆炸式增长的态势。在各个领域&#xff0c;大数据的身影几乎无处不在。今天我们通过一些大数据典型的应用场景分析&#xff0c;一起来看…

使用webdriver-manager解决浏览器与驱动不匹配所带来自动化无法执行的问题

在我们使用 Selenium 进行 UI 自动化测试时&#xff0c;常常会因为浏览器驱动与浏览器版本不匹配&#xff0c;而导致自动化测试无法执行&#xff0c;需要手动去下载对应的驱动版本&#xff0c;并替换原有的驱动&#xff0c;可能还会遇到跨操作系统进行测试的时候&#xff0c;以…

linux go环境安装 swag

下载依赖包 go get -u github.com/swaggo/swag编译 移动到下载的go-swagger包目录,一般在$GOPATH/pkg/mod下 查看 GOPATH echo $GOPATHcd /root/GolangProjects/pkg/mod/github.com/swaggo/swagv1.16.2go install ./cmd/swag/不出意外&#xff0c;$GOPATH/bin下 已经有了sw…

【VRTK】【VR开发】【Unity】17-创建立体UI

【背景】 游戏无法忽略的一个要素就是UI界面,本篇开始介绍VRTK这方面的能力。 VR游戏的UI和传统电视游戏UI的不同之处在于,VR游戏的UI必须融合在VR的游戏空间内,而传统电视游戏的UI则可以位于游戏画面的上层,位于屏幕的特定位置,比如表示人物血量等的图示等。不同于传统的…

对比学习简介

1. 引言 在本教程中&#xff0c;我们将介绍对比学习领域中的相关概念。首先&#xff0c;我们将讨论这种技术背后相关的理论知识&#xff1b;接着&#xff0c;我们将介绍最常见的对比学习的损失函数和常见的训练策略。 闲话少说&#xff0c;我们直接开始吧&#xff01; 2. 举…

45、激活函数 - 为什么非线性这么重要

这一节开始讲一讲神经网络中的激活函数,在讲激活函数之前,先讲一下非线性。 看一个基础知识:线性函数的叠加,我们初中学过的知识点。 假设有一个线性函数,y = kx + b, 这个函数画出来是下面的样子,这里显示 y 和 x 是线性关系。 而如果这个时候又有一个线性关系 z = hy…

2023年成都市中等职业学校学生技能大赛“网络搭建及应用”赛项竞赛样卷

2023年成都市中等职业学校学生技能大赛 “网络搭建及应用”赛项竞赛样卷 &#xff08;总分1000分&#xff09; 目录 2023年成都市中等职业学校学生技能大赛 “网络搭建及应用”赛项竞赛样卷 网络建设与调试项目&#xff08;500分&#xff09; 服务器搭建与运维项目&#xff08;…