简述

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(圆形进度条)的更多相关文章

  1. Qt第三方圆形进度条-及其改进

    Qt第三方圆形进度条的改进 要实现一个圆形的进度条功能,在网上找到一个比较出名的第三方封装类:QRoundProgressBar,地址:sourceforge 的 QRoundProgressBar  ...

  2. Qt自定义控件系列(一) --- 圆形进度条

    本系列主要使用Qt painter来实现一些基础控件.主要是对平时自行编写的一些自定义控件的总结. 为了简洁.低耦合,我们尽量不使用图片,qrc,ui等文件,而只使用c++的.h和.cpp文件. 由于 ...

  3. android 自定义控件——(四)圆形进度条

    ----------------------------------↓↓圆形进度条(源代码下有属性解释)↓↓---------------------------------------------- ...

  4. WPF 实现圆形进度条

    项目中用到圆形进度条,首先就想到使用 ProgressBar 扩展一个,在园子里找到迷途的小榔头给出的思路和部分代码,自己加以实现. 进度小于60显示红色,大于60则显示绿色.效果如下: 基本思路: ...

  5. html5 svg 圆形进度条

    html5 svg 圆形进度条 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  6. canvas圆形进度条

    通过定义一个canvas标签, new方法传进ID值,和旋转角度值,即可生成圆形进度条 <!DOCTYPE html> <html lang="en"> & ...

  7. iOS之UI--Quartz2D的入门应用--重绘下载圆形进度条

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  8. Android 高手进阶之自定义View,自定义属性(带进度的圆形进度条)

      Android 高手进阶(21)  版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明地址:http://blog.csdn.net/xiaanming/article/detail ...

  9. 简单实用的纯CSS百分比圆形进度条插件

    percircle是一款简单实用的纯CSS百分比圆形进度条插件.你不需要做任何设置,只需要按该圆形进度条插件提供的标准HTML结构来编写代码,就可以生成一个漂亮的百分比圆形进度条. 首先要做的就是引入 ...

随机推荐

  1. 嵌入式Linux开发教程:Linux常见命令(上篇)

    摘要:这是对周立功编著的<嵌入式Linux开发教程>的第7期连载.本期刊载内容有关LinuxLinux常见命令中的导航命令.目录命令和文件命令.下一期将连载网络操作命令.安装卸载文件系统等 ...

  2. 【Unity3D游戏开发】Application.systemLanguage无法区分简体中文和繁体中文 (二六)

    游戏发布,语言本地化需要繁体中文和简体中文 iOS8版本之前没问题,iOS9上无法正常识别这两种语言 原因是在iOS9上,Unity通过Application.systemLanguage返回的简体中 ...

  3. 【Unity3D游戏开发】之Sprite Packer使用方法 (九)[转]

    前置说明: 我们用来做sprite 的图片,通常会留有很多空白的地方,我们在画完了sprite之后,这些地方很可能就没有什么作用了.如果想避免这些资源上的浪费,我们可以把各个sprite做成图集,把图 ...

  4. C#正则表达式获取组名,按照组名输出匹配内容

    最近写了个正则表达式匹配的工具,可以按照组名输出匹配内容,还是挺方便的,代码留存一下,以后用的话,直接copy了. Regex regex = new Regex(this.textBoxRegex. ...

  5. excel在一个图表内,显示折线图和柱状图

      折线图和柱状图,在同一个图表中拆分显示   一个图,设置主坐标轴 另外一个图,设置次坐标轴     拆分,通过调整纵坐标的最小值和最大值来实现     关于图表的标题,选中图表,选择布局,然后图表 ...

  6. choco命令

    C:\Users\Administrator>chocoChocolatey v0.10.0 C:\Users\Administrator>choco --version0.10.0 C: ...

  7. 利用MDK4中的逻辑分析仪分析IO口的PWM波

    1.先设置软件仿真 ,可参看STM32不完全手册的2.4的软件仿真这一章 (原文件名:1.jpg) Example functionality:                             ...

  8. ABAP Util代码

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  9. 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 ...

  10. 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 ...