文章目录
- 1. 介绍
- 2. 实例
- 2.1 按钮启动进度条
- 2.2 更改进度条样式
- 2.3 资源文件
1. 介绍
详细的 QProgressBar 内容可以通过 查阅Qt官方文档 ,这里进行简要的总结:
QProgressBar 是Qt框架中的一个控件,用于显示进度条:
-
QProgressBar
可以 水平或垂直显示 ,可以根据需要设置最小值和最大值,以及当前的数值,从而控制进度条的显示。 -
QProgressBar
提供了一些方法来 控制进度条的外观和行为 ,比如设置进度条的最小值和最大值、设置进度条的文本显示格式、设置进度条的样式表等。
核心属性:
属性名 | 描述 |
---|---|
value | 表示当前进度的数值 |
minimum | 表示进度的最小值 |
maximum | 表示进度的最大值 |
textVisible | 表示是否显示进度条上的文本 |
alignment | 表示文本对齐方式 |
format | 显示在进度条上的文本格式 |
invertedAppearance | 进度条外观是否反转 |
orientation | 进度条的方向,水平或垂直 |
visible | 进度条是否可见 |
2. 实例
2.1 按钮启动进度条
我们写一个 通过按钮启动 进度条 的功能:
- 首先在
widget.h
中 添加 相关的变量与函数:
public:void startPB();void handlePB();private:QTimer* timer;
- 在
widget.cc
中首先实现启动计时器,以及处理函数(开始进度条的函数):
void Widget::startPB()
{timer->start(100); // 启动定时器
}void Widget::handlePB()
{// 获取进度条当前数值int value = ui->progressBar->value();if(value >= 100) // 进度条满,停止计时器{timer->stop();return;}ui->progressBar->setValue(value + 1); // 增加进度条数值
}
- 后在
widget.cpp
中的构造函数中连接 相关信号 与 槽:
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);timer = new QTimer(this);// 将timeout 与 启动函数 连接connect(timer, &QTimer::timeout, this, &Widget::handlePB);// 将启动函数与按钮点击 连接connect(ui->pushButton, &QPushButton::clicked, this, &Widget::startPB);
}
2.2 更改进度条样式
我们对创建的QProgressBar
进行 样式表的更改 :
对 QProgressBar::chunk
进行编写:
QProgressBar::chunk {background-color: #3366FF}
其中,chunk表示对块的操作,而text表示对文本信息的操作
同时我们可以在属性面板对 文本对齐方式 等进行改变:
效果演示:
2.3 资源文件
QProgressBar的使用(进度条的实现)