简述

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. Bug2算法的实现(RobotBASIC环境中仿真)

    移动机器人智能的一个重要标志就是自主导航,而实现机器人自主导航有个基本要求--避障.之前简单介绍过Bug避障算法,但仅仅了解大致理论而不亲自动手实现一遍很难有深刻的印象,只能说似懂非懂.我不是天才,不 ...

  2. 用sql的select语句从数据库中获取数据

    基本的select语句 select语句中的算数表达式和NULL值 列的别名 使用连接符操作,literal character strings,alternative quote operator, ...

  3. [SAP ABAP开发技术总结]字符串处理函数、正则表达式

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

  4. 【BZOJ】4636: 蒟蒻的数列

    4636: 蒟蒻的数列 Time Limit: 30 Sec  Memory Limit: 256 MBSubmit: 145  Solved: 71[Submit][Status][Discuss] ...

  5. h5上滑刷新(分页)

    $('.dom').append('<div class="loadingwrap" id="loading" style="display:n ...

  6. SAP 关于标准成本、计划成本、目标成本、实际成本

    SAP 关于标准成本.计划成本.目标成本.实际成本 <A style="MARGIN-RIGHT: 10px" target=_blank data-ext="{v ...

  7. ip地址的组成(网络位+主机位)

    IP地址子网掩码都是32位的2进制,为了方便记忆转成10进制,通过子网掩码来区分网络位和主机位,子网掩码跟IP地址一一对应,子网掩码为1的是网络位,为0的是主机位.如:192.168.1.2 掩码25 ...

  8. 硬盘坏道 检测/修复 Windows

    1. 主要参看了:http://jingyan.baidu.com/article/2c8c281dfd93df0008252a9b.html 2. 2.1.hdtunepro.zip 是在 http ...

  9. (三)NAND flash和NOR flash的区别详解

    我们使用的智能手机除了有一个可用的空间(如苹果8G.16G等),还有一个RAM容量,很多人都不是很清楚,为什么需要二个这样的芯片做存储呢,这就是我们下面要讲到的.这二种存储设备我们都统称为“FLASH ...

  10. 【Android界面实现】FragmentPagerAdapter与FragmentStatePagerAdapter使用详解与区别

    转载请注明出处: http://blog.csdn.net/zhaokaiqiang1992 FragmentPagerAdapter是android-support-v4支持包里面出现的一个新的适配 ...