Qt之QRoundProgressBar(圆形进度条)

简介: 简述QRoundProgressBar类能够实现一个圆形进度条,继承自QWidget,并且有和QProgressBar类似的API接口。简述详细说明风格颜色字体共有函数共有槽函数详细说明主要有以下特性:圆形进度条控件高度可定制的源码下载:Qt Circular Progress Bar WidgetQRoundP

简述

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);
    设置当前显示在控件上的值(整数),必须在最小值和最大值之间。

目录
相关文章
|
1月前
|
前端开发 数据可视化 JavaScript
【五一创作】QML、Qt Quick /Qt中绘制圆形
【五一创作】QML、Qt Quick /Qt中绘制圆形
33 0
|
3月前
如何用Qt抠一个圆形头像出来
如何用Qt抠一个圆形头像出来
|
6月前
QT圆形进度条(QT桌面项目光照强度检测)
QT圆形进度条(QT桌面项目光照强度检测)
38 0
|
1月前
|
网络协议 C++
C++ Qt开发:QTcpSocket网络通信组件
`QTcpSocket`和`QTcpServer`是Qt中用于实现基于TCP(Transmission Control Protocol)通信的两个关键类。TCP是一种面向连接的协议,它提供可靠的、双向的、面向字节流的通信。这两个类允许Qt应用程序在网络上建立客户端和服务器之间的连接。Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用`QTcpSocket`组件实现基于TCP的网络通信功能。
37 8
C++ Qt开发:QTcpSocket网络通信组件
|
3月前
|
SQL 数据库 C++
C++ Qt开发:Charts与数据库组件联动
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`Charts`组件与`QSql`数据库组件的常用方法及灵活运用。在之前的文章中详细介绍了关于`QCharts`绘图组件的使用方式,本章将继续延续这个知识点,通过使用`QSql`数据库模块动态的读取某一个时间节点上的数据,当用户点击查询数据时则动态的输出该事件节点的所有数据,并将数据绘制到图形组件内,实现动态查询图形的功能。
34 0
C++ Qt开发:Charts与数据库组件联动
|
13天前
|
图形学 Python 容器
【PyQt5桌面应用开发】3.Qt Designer快速入门(控件详解)
【PyQt5桌面应用开发】3.Qt Designer快速入门(控件详解)
32 0
|
22天前
qt开发使用camera类获取摄像头信息并拍照保存
qt开发使用camera类获取摄像头信息并拍照保存
|
1月前
|
监控 C++
C++ Qt开发:QProcess进程管理模块
Qt是一个跨平台的C++图形库,简化了窗体应用开发,支持通过拖放组件提升效率。本章节关注`QProcess`组件,它用于控制和管理进程,例如执行命令、运行可执行文件及与外部进程通信。`QProcess`提供多种方法如`start`、`waitForStarted`和`waitForFinished`等,实现启动、监控和交互。示例展示了如何使用`QProcess`获取系统进程和信息,通过`tasklist`和`systeminfo`命令,并将结果展示在`QTreeWidget`中。
28 0
C++ Qt开发:QProcess进程管理模块
|
1月前
|
存储 C++ 网络架构
C++ Qt开发:QUdpSocket实现组播通信
Qt教程:使用`QUdpSocket`实现UDP组播通信。通过设置套接字选项、绑定端口、加入和离开组播组,以及发送和接收数据报,简化跨平台窗体应用开发。关键函数包括`setSocketOption`设置多播TTL,`bind`绑定地址和端口,`joinMulticastGroup`加入组播,`leaveMulticastGroup`退出,`writeDatagram`发送,和`readDatagram`接收数据报。
19 1
C++ Qt开发:QUdpSocket实现组播通信
|
1月前
|
存储 网络安全 C++
C++ Qt开发:QUdpSocket网络通信组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用`QUdpSocket`组件实现基于UDP的网络通信功能。与`QTcpSocket`组件功能类似,`QUdpSocket`组件是 Qt 中用于实现用户数据报协议(UDP,User Datagram Protocol)通信的类。UDP 是一种无连接的、不可靠的数据传输协议,它不保证数据包的顺序和可靠性,但具有低延迟和简单的特点。
20 0
C++ Qt开发:QUdpSocket网络通信组件