QT开发中文网

QProgressBar的setFormat函数作用

QProgressBarsetFormat 函数用于设置进度条的文本格式。通过这个函数,你可以定义在进度条上显示的文本内容,比如当前的百分比、值和总值等。

函数原型

void QProgressBar::setFormat(const QString &format);

作用

  • 自定义显示格式:你可以使用 %p% 来表示当前进度百分比,使用 %v 来表示当前值,使用 %m 来表示最大值。
  • 动态更新:当你更新进度条的值时,显示在进度条上的文本也会随之更新,根据你设定的格式变化。

示例代码

以下是一个简单的示例,展示如何使用 setFormat

#include <QApplication>
#include <QWidget>
#include <QVBoxLayout>
#include <QPushButton>
#include <QProgressBar>
#include <QTimer>

class ProgressBarExample : public QWidget {
    Q_OBJECT

public:
    ProgressBarExample(QWidget *parent = nullptr) : QWidget(parent) {
        QVBoxLayout *layout = new QVBoxLayout(this);

        progressBar = new QProgressBar(this);
        progressBar->setRange(0, 100);
        progressBar->setFormat("Completed: %p%"); // 设置显示格式
        layout->addWidget(progressBar);

        QPushButton *startButton = new QPushButton("Start", this);
        layout->addWidget(startButton);

        timer = new QTimer(this);
        connect(timer, &QTimer::timeout, this, &ProgressBarExample::updateProgress);
        
        connect(startButton, &QPushButton::clicked, this, [this]() {
            progressValue = 0;
            progressBar->reset();
            timer->start(100); // 每100ms更新一次
        });
    }

private slots:
    void updateProgress() {
        if (progressValue >= 100) {
            timer->stop();
            return;
        }
        
        progressValue++;
        progressBar->setValue(progressValue); // 更新进度条的值
    }

private:
    QProgressBar *progressBar;
    QTimer *timer;
    int progressValue = 0; // 当前进度值
};

int main(int argc, char *argv[]) {
    QApplication a(argc, argv);

    ProgressBarExample window;
    window.resize(300, 150);
    window.setWindowTitle("QProgressBar Example");
    window.show();

    return a.exec();
}

#include "main.moc"

在这个示例中:

  1. 创建了一个 QProgressBar 并设置其范围为 0 到 100。
  2. 使用 setFormat("Completed: %p%") 设置了文本格式,当调用 setValue() 更新进度时,这个字符串将会自动反映当前的百分比。
  3. 使用一个计时器每隔一段时间增加进度,从而演示动态效果。

这样,当程序运行并点击“Start”按钮后,你将看到进度条随着时间推移而填满,同时上面的文本会显示完成比例,如“Completed: 45%”。


内容由零声教学AI助手提供,问题来源于学员提问

目录导航
  • 函数原型
  • 作用
  • 示例代码
  • 在这个示例中:
  • 本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
    转载请注明出处:https://qt.0voice.com/?id=12578

    分享:
    扫描分享到社交APP
    上一篇
    下一篇
    发表列表
    游客 游客
    此处应有掌声~
    评论列表

    还没有评论,快来说点什么吧~

    联系我们

    在线咨询: 点击这里给我发消息

    微信号:3007537140

    上班时间: 10:30-22:30

    关注我们
    x

    注册

    已经有帐号?