简述

QRoundProgressBar类能够实现一个圆形进度条,继承自QWidget,并且有和QProgressBar类似的API接口。

  • 简述
  • 详细说明
  • 风格
  • 颜色
  • 字体
  • 共有函数
  • 共有槽函数

详细说明

主要有以下特性:

  • 圆形进度条控件
  • 高度可定制的

源码下载:

  • Qt Circular Progress Bar Widget
  • QRoundProgressBar下载

下载完后,进行解压缩,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);
    设置当前显示在控件上的值(整数),必须在最小值和最大值之间。

转载于:https://www.cnblogs.com/itrena/p/5938256.html

Qt之QRoundProgressBar(圆形进度条)相关推荐

  1. QT自定义圆形进度条

    以下是一个简单的示例,展示如何创建一个自定义的圆形进度条控件. 1.创建一个新的Qt控件类,继承QProgressBar类.在该类的头文件中添加以下代码:     class CircularProg ...

  2. 圆的css样式,圆形进度条css3样式

    30% 以下样式100upx是50upx的2倍,这是尺寸比例 .con { position: relative; display: inline-block; height: 100upx; wid ...

  3. android 自定义音乐圆形进度条,Android自定义View实现音频播放圆形进度条

    本篇文章介绍自定义View配合属性动画来实现如下的效果 实现思路如下: 根据播放按钮的图片大小计算出圆形进度条的大小 根据音频的时间长度计算出圆形进度条绘制的弧度 通过Handler刷新界面来更新圆形 ...

  4. Android自定义控件NumberCircleProgressBar(圆形进度条)的实现

    Android自定义控件NumberCircleProgressBar(圆形进度条)的实现

  5. html进度条圆圈渐变色,HTML5 canvas带渐变色的圆形进度条动画

    jquery-circle-progress是一款带渐变色的圆形进度条动画特效jQuery插件.该圆形进度条使用的是HTML5 canvas来绘制圆形进度条及其动画效果,进度条使用渐变色来填充,效果非 ...

  6. 微信小程序之圆形进度条(自定义组件)

    前言 昨天在微信小程序实现了圆形进度条,今天想把这个圆形进度条做成一个组件,方便以后直接拿来用. 根据官方文档自定义组件一步一步来 创建自定义组件 第一步创建项目结构 打开微信开发者工具创建一个项目, ...

  7. Android 之 ProgressDialog用法介绍(矩形进度条 和 圆形 进度条)

    2019独角兽企业重金招聘Python工程师标准>>> 布局文件: <LinearLayout xmlns:android="http://schemas.andro ...

  8. 【Android 应用开发】 自定义 圆形进度条 组件

    转载著名出处 : http://blog.csdn.net/shulianghan/article/details/40351487 代码下载 : -- CSDN 下载地址 : http://down ...

  9. android 环形时间显示_Android圆形进度条颜色的设置

    最近几天由于项目的需要研究了一下listView的滑动数据动态的更新显示,其中需要在数据加载过程有圆形进度条的显示,遇到的问题是进度条的颜色设置,在网上查了一些资料结合自己的所得分享在此. xml布局 ...

  10. Android自定义圆形进度条

    Android自定义圆形进度条 github地址:https://github.com/opq1289/CircleProgressView 效果图: 无动画: 有动画: 整圆: 切割圆: 具体步骤: ...

最新文章

  1. 控制台打印汉字的方法
  2. 网站未收录的文章该如何解决?
  3. MySQL查询的进阶操作--条件查询
  4. 天气预报c是什么意思_大雪节气将至,为什么老话说:寒风迎大雪,三九天气暖?...
  5. Spring Java配置:会话超时
  6. PWA(Progressive Web App)入门系列:(五)Web Worker
  7. JAVA bridge设计模式,java设计模式之Bridge
  8. Set集合HashSet,TreeSet
  9. 小蚂蚁学习C语言(27)——C语言中的进制转换
  10. win7 gho封装教程
  11. postSQL安装和GIS数据导入
  12. API接口自动化测试框架搭建(二)-详细设计框架设计
  13. python爬虫基础案例(面向对象)——爬取猫眼电影并保存数据到excel
  14. Java基础(数组)数组缩减
  15. 用Python 实现简单的汇率计算
  16. 女人四十学计算机有用吗,四十岁的女人,开始学做美容工作,有前途吗
  17. python爬取国内代理ip_【python】国内高匿代理爬取,并验证代理ip有效性
  18. MAE代码阅读(一)
  19. 仿系统闹钟,实现更新安装之后还可以响铃,开机启动功能需要手机自带开机自启动
  20. 归一化相关 matlab,matlab – 归一化互相关的基础知识

热门文章

  1. MyEclipse开启服务器时总是进入Debug模式
  2. 3个开源TTS(三)flite的简要分析与espeak的选择
  3. MEncoder的基础用法—6.1. 选择编解码器及容器格式
  4. 推荐一款支持文件同步的云盘pCloud
  5. Chrom调试移动端页面
  6. 获取js文件后的参数
  7. Angularjs的ng-repeat中去除重复的数据
  8. Spring之切入点表达式
  9. php微信个性化菜单,微信公众平台开发:个性化菜单接口说明
  10. dhcp服务配置 [Linux] 超详细的步骤!学不会你打我!