Qt之QRoundProgressBar(圆形进度条)
简述
QRoundProgressBar类能够实现一个圆形进度条,继承自QWidget,并且有和QProgressBar类似的API接口。
详细说明
主要有以下特性:
- 圆形进度条控件
- 高度可定制的
源码下载:
下载完后,进行解压缩,src目录里包含了两个主要的文件QRoundProgressBar.h和QRoundProgressBar.cpp,可以直接使用,也可以预编译为库。
test目录中则包含了一个使用的示例,可以直接运行。
效果如下:
风格
QRoundProgressBar包含三种风格。
枚举QRoundProgressBarBar::Style:
| 常量 | 描述 |
|---|---|
| QRoundProgressBar::StyleDonut | 圆环风格(环绕文本) |
| QRoundProgressBar::StylePie | 饼状风格(文本位于扇形中央) |
| QRoundProgressBar::StyleLine | 线状风格(细线环绕文本) |
颜色
通常情况下,QRoundProgressBar使用调色板(palette)和字体(font)属性来定义外观。
可以考虑使用QPalette中QPalette::ColorRole的以下成员:
| 常量 | 描述 |
|---|---|
| QPalette::Window | 设置整个部件的背景(正常情况下,应该设置为:Qt::NoBrush) |
| QPalette::Base | 未填充进度区域的背景(如果需要透明,应该设置为:Qt::NoBrush) |
| QPalette::AlternateBase | 文本显示所在的中间圆环的背景(为圆环风格) |
| QPalette::Shadow | 未填充区域的前景色(即:边框色) |
| QPalette::Highlight | 填充进度条区域的背景色 |
| QPalette::Text | 在中心显示的文本色 |
字体
通过setFont()为文本设置字体。
默认情况下,将自动调整字体大小,以适应部件的内部圆环。
共有函数
double nullPosition()
返回最小值的位置(用角度表示)。void setNullPosition(double position);
设置最小值的位置,position为圆上最小值的位置(用角度表示)。void setBarStyle(BarStyle style);
设置显示风格。BarStyle barStyle() const;
返回显示风格。void setOutlinePenWidth(double penWidth);
设置圆环轮廓线的画笔宽度(像素)。double outlinePenWidth() const;
返回圆环轮廓线的画笔宽度。void setDataPenWidth(double penWidth);
设置圆环数据圆笔的宽度。double dataPenWidth() const;
返回圆环数据圆笔的宽度。void setDataColors(const QGradientStops& stopPoints);
设置可见数据的渐变色。注意:此函数会覆盖palette(),来动态创建渐变。
void setFormat(const QString& format);
定义用于生成当前的文本字符串。注意:如果没有设置格式,将不会显示文本。
void resetFormat();
重置格式字符串为空字符串,将不会显示文本。QString format() const;
返回用于生成当前文本的格式。void setDecimals(int count);
设置显示小数点后的位数(默认为1)。int decimals() const;
返回显示小数点后的位数。double value() const;
返回当前显示在控件上的值。double minimum() const;
返回允许值范围的最小值。double maximum() const;
返回允许值范围的最大值。
共有槽函数
void setRange(double min, double max);
设置允许值范围。void setMinimum(double min);
设置允许值范围的最小值。void setMaximum(double max);
设置允许值范围的最大值。void setValue(double val);
设置当前显示在控件上的值(浮点数),必须在最小值和最大值之间。void setValue(int val);
设置当前显示在控件上的值(整数),必须在最小值和最大值之间。
Qt之QRoundProgressBar(圆形进度条)的更多相关文章
- Qt第三方圆形进度条-及其改进
Qt第三方圆形进度条的改进 要实现一个圆形的进度条功能,在网上找到一个比较出名的第三方封装类:QRoundProgressBar,地址:sourceforge 的 QRoundProgressBar ...
- Qt自定义控件系列(一) --- 圆形进度条
本系列主要使用Qt painter来实现一些基础控件.主要是对平时自行编写的一些自定义控件的总结. 为了简洁.低耦合,我们尽量不使用图片,qrc,ui等文件,而只使用c++的.h和.cpp文件. 由于 ...
- android 自定义控件——(四)圆形进度条
----------------------------------↓↓圆形进度条(源代码下有属性解释)↓↓---------------------------------------------- ...
- WPF 实现圆形进度条
项目中用到圆形进度条,首先就想到使用 ProgressBar 扩展一个,在园子里找到迷途的小榔头给出的思路和部分代码,自己加以实现. 进度小于60显示红色,大于60则显示绿色.效果如下: 基本思路: ...
- html5 svg 圆形进度条
html5 svg 圆形进度条 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...
- canvas圆形进度条
通过定义一个canvas标签, new方法传进ID值,和旋转角度值,即可生成圆形进度条 <!DOCTYPE html> <html lang="en"> & ...
- iOS之UI--Quartz2D的入门应用--重绘下载圆形进度条
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- Android 高手进阶之自定义View,自定义属性(带进度的圆形进度条)
Android 高手进阶(21) 版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明地址:http://blog.csdn.net/xiaanming/article/detail ...
- 简单实用的纯CSS百分比圆形进度条插件
percircle是一款简单实用的纯CSS百分比圆形进度条插件.你不需要做任何设置,只需要按该圆形进度条插件提供的标准HTML结构来编写代码,就可以生成一个漂亮的百分比圆形进度条. 首先要做的就是引入 ...
随机推荐
- 嵌入式Linux开发教程:Linux常见命令(上篇)
摘要:这是对周立功编著的<嵌入式Linux开发教程>的第7期连载.本期刊载内容有关LinuxLinux常见命令中的导航命令.目录命令和文件命令.下一期将连载网络操作命令.安装卸载文件系统等 ...
- 【Unity3D游戏开发】Application.systemLanguage无法区分简体中文和繁体中文 (二六)
游戏发布,语言本地化需要繁体中文和简体中文 iOS8版本之前没问题,iOS9上无法正常识别这两种语言 原因是在iOS9上,Unity通过Application.systemLanguage返回的简体中 ...
- 【Unity3D游戏开发】之Sprite Packer使用方法 (九)[转]
前置说明: 我们用来做sprite 的图片,通常会留有很多空白的地方,我们在画完了sprite之后,这些地方很可能就没有什么作用了.如果想避免这些资源上的浪费,我们可以把各个sprite做成图集,把图 ...
- C#正则表达式获取组名,按照组名输出匹配内容
最近写了个正则表达式匹配的工具,可以按照组名输出匹配内容,还是挺方便的,代码留存一下,以后用的话,直接copy了. Regex regex = new Regex(this.textBoxRegex. ...
- excel在一个图表内,显示折线图和柱状图
折线图和柱状图,在同一个图表中拆分显示 一个图,设置主坐标轴 另外一个图,设置次坐标轴 拆分,通过调整纵坐标的最小值和最大值来实现 关于图表的标题,选中图表,选择布局,然后图表 ...
- choco命令
C:\Users\Administrator>chocoChocolatey v0.10.0 C:\Users\Administrator>choco --version0.10.0 C: ...
- 利用MDK4中的逻辑分析仪分析IO口的PWM波
1.先设置软件仿真 ,可参看STM32不完全手册的2.4的软件仿真这一章 (原文件名:1.jpg) Example functionality: ...
- ABAP Util代码
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- Codeforces Round #279 (Div. 2) C. Hacking Cypher 前缀+后缀
C. Hacking Cypher time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- hdu 5137 How Many Maos Does the Guanxi Worth 最短路 spfa
How Many Maos Does the Guanxi Worth Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 512000/5 ...