QML中圆形进度仪表盘控件的使用
来源:互联网 发布:mac 图片导入后找不到 编辑:程序博客网 时间:2024/05/22 10:30
在之前的文章中,有一篇介绍了在QML中制作自定义圆形进度条的文章,在那篇文章中,主要是写了如何在QML的Canvas上使用2D进行绘图。同样是圆形进度条,在这篇文章中,主要介绍QML自己原生的一个圆形仪表盘的使用,其中的主体结构都是QML自己实现的,我们自己只需要根据需要,设置我们想要的样式和属性值,即可达到理想中仪表盘的效果,省去了我们自己绘制界面的过程,是一个很好的控件,希望能够帮助到需要自己开发仪表盘(模拟赛车项目)的同仁们。
一、核心代码如下:
二、深度解析
CircularGauge本身的属性不多,大家有兴趣可以查看帮助了解详细描述,包括最大值、最小值、步长与当前指向值等属性。这里主要介绍自定义该仪表盘时,对其style的设置,CircularGaugeStyle即可以对CircularGauge的样式进行自定义实现,其中的属性值非常之多,基本能够完成对仪表盘的显示进行控制,这里介绍一些最常用的属性:
1. maximumValue: 自定义刻度线的最大值
2. minimumValue: 自定义刻度线的最小值
3. labelStepSize:标准刻度线在显示时,中间数据的间隔
4. tickmarkStepSize:自定义刻度线在显示时,中间数据的间隔
5. minorTickmark:标准刻度线的显示样式组件
6. tickmark:自定义刻度线的显示样式组件
其中的“自定义刻度线”为我们自定义的最大值与最小值之间的值,“标准刻度线”为控件本身从0开始的值。
通过以上的属性设置,基本可以实现一个简单的仪表盘了,其他属性,大家可以参考Qt的帮助进行查阅,以达到自己的需求,解决开发中遇到的问题。
一、核心代码如下:
import QtQuick 2.5import QtQuick.Controls 1.4import QtQuick.Controls.Styles 1.4import QtQuick.Extras 1.4CircularGauge { id: gauge anchors.fill: parent //**************************************** maximumValue: 50 minimumValue: 10 value: accelerating ? maximumValue : 0 property bool accelerating: false Keys.onSpacePressed: accelerating = true Keys.onReleased: { if (event.key === Qt.Key_Space) { console.log("===============", value); accelerating = false; event.accepted = true; } } Component.onCompleted: forceActiveFocus() Behavior on value { NumberAnimation { duration: 1000 } } //**************************************** style: CircularGaugeStyle { tickmarkLabel: Label{text:"※"; font.pixelSize: 20} labelStepSize: 10 tickmarkStepSize : 5 tickmark: Text { text: styleData.value color: "red" font.pixelSize: 28 Text { anchors.horizontalCenter: parent.horizontalCenter anchors.top: parent.bottom text: styleData.index color: "blue" font.pixelSize: 25 } } minorTickmark: Text { text: styleData.value font.pixelSize: 22 Text { anchors.horizontalCenter: parent.horizontalCenter anchors.top: parent.bottom text: styleData.index font.pixelSize: 16 color: "blue" } } } Text { id: indexText text: parseInt(gauge.value) anchors.horizontalCenter: parent.horizontalCenter anchors.bottom: valueText.top color: "red" font.pixelSize: 24 } Text { id: valueText text: "Major and minor values" anchors.horizontalCenter: parent.horizontalCenter anchors.bottom: parent.bottom color: "blue" font.pixelSize: 18 }}代码中主要引入了import QtQuick.Extras 1.4,并使用了其CircularGauge控件。
二、深度解析
CircularGauge本身的属性不多,大家有兴趣可以查看帮助了解详细描述,包括最大值、最小值、步长与当前指向值等属性。这里主要介绍自定义该仪表盘时,对其style的设置,CircularGaugeStyle即可以对CircularGauge的样式进行自定义实现,其中的属性值非常之多,基本能够完成对仪表盘的显示进行控制,这里介绍一些最常用的属性:
1. maximumValue: 自定义刻度线的最大值
2. minimumValue: 自定义刻度线的最小值
3. labelStepSize:标准刻度线在显示时,中间数据的间隔
4. tickmarkStepSize:自定义刻度线在显示时,中间数据的间隔
5. minorTickmark:标准刻度线的显示样式组件
6. tickmark:自定义刻度线的显示样式组件
其中的“自定义刻度线”为我们自定义的最大值与最小值之间的值,“标准刻度线”为控件本身从0开始的值。
通过以上的属性设置,基本可以实现一个简单的仪表盘了,其他属性,大家可以参考Qt的帮助进行查阅,以达到自己的需求,解决开发中遇到的问题。
三、效果图
以上,即为QML中圆形进度仪表盘控件的使用。
阅读全文
1 0
- QML中圆形进度仪表盘控件的使用
- Qml圆形进度按钮
- Android圆形进度显示控件的SectorProgressView的使用
- 自定义圆形进度控件
- 使用带进度显示的圆形进度条
- ProgressBar的圆形进度和水平进度的使用
- Android自定义控件—仿仪表盘进度控件ArcProgressBar
- QML控件学习——之仪表盘控件Dial和DialStyle(自定义仪表盘)
- QT中速度仪表盘控件QMeter的安装方法
- QML让圆形物体按照圆形轨迹运动和color使用rgba值的Demo
- Android自定义控件实现圆形进度CircleProgressBar
- Android自定义控件实现圆形进度CircleProgressBar
- MFC中进度控件的基本用法
- UIWebView 加载进度控件 NJKWebViewProgress的使用
- 2.4 进度显示类控件的使用
- Android中圆形头像的控件
- CircleImageView自定义圆形控件的使用
- CircleImageView自定义圆形控件的使用
- codeforces 270A Fancy Fence
- 设计模式之责任链模式(Chain of Responsibility)
- 利用数组和for循环给一维数组内n个元素大小排序
- Educational Codeforces Round 9 C. The Smallest String Concatenation —— 贪心 + 字符串
- firewalld
- QML中圆形进度仪表盘控件的使用
- TensorFlow风格指南
- Eclipse智能提示及快捷键
- vue.js webpack环境配置介绍
- WEB常用测试用例—文本输入框
- OutOfMemoryError: GC overhead limit exceeded
- Git仓库备份
- jquery获取键盘输入
- 矩阵乘法总结