QT之QProgressBar的用法

QT之QProgressBar的用法

    • 成员函数
    • 用法举例

成员函数

1)void setRange(int minimum, int maximum)
设置进度条的最小值和最大值。

2)void setValue(int value)
设置进度条的当前值。

3)int value() const
返回进度条的当前值。

4)void setFormat(const QString &format)
设置进度条上显示的文本格式。

5)QString format() const
返回进度条上显示的文本格式。

6)void setAlignment(Qt::Alignment alignment)
设置进度条的对齐方式。

7)Qt::Alignment alignment() const
返回进度条的对齐方式。

8)void setInvertedAppearance(bool inverted)
设置进度条是否显示为反向样式。

9)bool invertedAppearance() const
返回进度条是否显示为反向样式。

10)void setMinimumDuration(int ms)
设置进度条的最小持续时间。

11)int minimumDuration() const
返回进度条的最小持续时间。

12)void setTextVisible(bool visible)
设置进度条上的文本是否可见。

13)bool textVisible() const
返回进度条上的文本是否可见。

14)void setStyleSheet(const QString &styleSheet)
设置进度条的样式表。

15)QString styleSheet() const
返回进度条的样式表。

16)void setOrientation(Qt::Orientation orientation)
设置进度条的方向。

17)Qt::Orientation orientation() const
返回进度条的方向。

18)void setMaximumWidth(int width)
设置进度条的最大宽度。

19)int maximumWidth() const
返回进度条的最大宽度。

20)void setSizePolicy(QSizePolicy sizePolicy)
设置进度条的大小策略。

21)QSizePolicy sizePolicy() const
返回进度条的大小策略。

22)void setPalette(const QPalette &palette)
设置进度条的调色板。

23)QPalette palette() const
返回进度条的调色板。

24)void setFont(const QFont &font)
设置进度条的字体。

25)QFont font() const
返回进度条的字体。

26)void setVisible(bool visible)
设置进度条是否可见。

27)bool isVisible() const
返回进度条是否可见。

28)void setEnabled(bool enabled)
设置进度条是否可用。

29)bool isEnabled() const
返回进度条是否可用。

30)void reset()
重置进度条到开始位置。

31)void setValue(int value)
设置进度条的当前值。

用法举例

1)设置进度条的属性:
进度条可以设置为水平或垂直显示,同时也可以设置最小值和最大值,以表示任务完成度的范围。可以通过setOrientation()方法设置进度条的方向,通过setMinimum()和setMaximum()方法设置进度的范围,通过setValue()方法设置当前进度的值。
例如:

progressBar->setOrientation(Qt::Horizontal); // 设置水平显示  
progressBar->setMinimum(0); // 设置最小值为0  
progressBar->setMaximum(100); // 设置最大值为100  
progressBar->setValue(50); // 设置当前进度为50

2)更新进度条的值
可以通过setValue()方法更新进度条的值,以反映任务的完成情况。如果需要在一段时间内逐渐更新进度条的值,则可以使用QTimer或类似的定时器来周期性地调用setValue()方法。
例如:

QTimer *timer = new QTimer(this);  
connect(timer, &QTimer::timeout, [=](){  
    int value = someTask.progress(); // 获取任务的当前进度值  
    progressBar->setValue(value); // 更新进度条的值  
});  
timer->start(1000); // 每1秒钟更新一次进度

3)设置进度条的显示格式:
可以使用setFormat()方法来设置进度条上显示的文本格式。格式化字符串可以包含特定的占位符,例如%p%表示当前进度的百分比。
例如:

progressBar->setFormat("Progress: %p%"); // 设置进度条的显示格式为"Progress: %百分比%"

4)对齐方式:
可以使用setAlignment()方法来设置进度条的对齐方式。可以设置为左对齐、右对齐、顶部对齐或底部对齐等。
例如:

progressBar->setAlignment(Qt::AlignLeft | Qt::AlignVCenter); // 设置左对齐和顶部对齐

5)繁忙指示:
如果最小值和最大值都设置为0,进度条会显示一个繁忙指示,而不会显示当前的值。这通常用于表示任务正在忙于处理数据,而无法给出准确的完成百分比。
例如:

progressBar->setMinimum(0);  
progressBar->setMaximum(0); // 设置最小值为0,最大值为0,进度条将显示繁忙指示

你可能感兴趣的:(qt,开发语言)