Qt QProgressBar详解

1.QProgressBar简述

QProgressBar提供了一个水平或垂直的进度条,可以使用setMinimum()和setMaximum指定最小和最大步数。当前的步数是用setValue()设置的。进度条可以用reset()重绕到开头。

2.常用方法

void setMaximum(int maximum)设置最大值
void setMinimum(int minimum)设置最小值
void setRange(int minimum, int maximum)设置范围,最大、最小值
void setValue(int value)设置当前值
void reset()重置
void setOrientation(Qt::Orientation)设置方向,垂直,水平
void setAlignment(Qt::Alignment alignment)设置对齐方式,居中,左、右
void setTextVisible(bool visible)设置进度条文本是否显示
void setInvertedAppearance(bool invert)设置正、反
void setFormat(const QString &format)设置文本显示格式

3.示例,比较进度条

p1设置如下,正常设置。

    ui->progressBar1->setMinimum(0);
    ui->progressBar1->setMaximum(100);
    ui->progressBar1->setValue(50);
    ui->progressBar1->setOrientation(Qt::Horizontal);

p2设置如下,设置了文字对齐方式,进度条方向等。

    ui->progressBar2->setMinimum(0);
    ui->progressBar2->setMaximum(100);
    ui->progressBar2->setValue(50);
    ui->progressBar2->setOrientation(Qt::Horizontal);
    ui->progressBar2->setInvertedAppearance(true);//设置反方向
    ui->progressBar2->setFormat("%v");
    ui->progressBar2->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);  // 对齐方式

setFormat(),有如下几种方式

%p%  

百分比,这是默认的显示方式
%v     当前进度
%m    总步数

也可以直接设置显示的值,如下图所示,显示小数。

 

ui->progressBar1->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);  // 对齐方式

ui->progressBar1->setFormat(QString("cur progress value:%1%").arg(QString::number(50.43, 'f', 2)));

p3设置如下,繁忙进度显示。

只需设置最大值、最小值为0就行了。

    ui->progressBar3->setMinimum(0);
    ui->progressBar3->setMaximum(0);

4.设置样式表

这里简单设置一下样式表。效果如下,仅供参考。

 

QString s1 = "QProgressBar {\
    border: 2px solid grey;\
    border-radius: 5px;\
    text-align: center;\
    color:#ff0000;\
}";

QString s2 = "QProgressBar::chunk {\
    background-color: #05B8CC;\
    width: 20px;\
    margin: 0.5px;\
}";

调用

ui->progressBar1->setStyleSheet(s1+s2);

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灬Sunnnnn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值