当前位置: 首页 > news >正文

进度条QProgressBar

进度条控价,用来只是任务的完成情况

包括当前值、最大值、最小值

// 获取和设置当前值
int value() const;
void setValue(int);// 获取和设置最大值
int maximum() const;
void setMaximum(int);// 获取和设置最小值
int minimum() const;
void setMinimum(int);// 一次设置最大值和最小值
void setRange(int min, int max)// 复位当前值    
void QProgressBar::reset()

最小值和最大值都为0时,进度条会显示一个繁忙状态,不会显示当前值

方向

分为水平和垂直

// 获取和设置滑动条的方向
Qt::Orientation orientation() const
void setOrientation(Qt::Orientation)

Qt::Orientation有两种取值

  • Qt::Horizontal - 水平
  • Qt::Vertical - 垂直

外观

  • 可以设置进度条的文本是否显示
// 获取和设置进度条的文本是否显示
bool isTextVisible() const
void setTextVisible(bool visible)
  •  设置文本的显示位置
Qt::Alignment alignment() const
void setAlignment(Qt::Alignment alignment)
  • 文本的显示格式
// 获取格式
QString format() const;// 设置格式
void setFormat(const QString &format);// 复位格式
void resetFormat()

 其中有三种格式

  • %p - 百分比
  • %v - 当前值
  • %m - 最大值

比如设置为%p,那么显示百分比,设置为%v/%m,那么显示50/100

  • 进度条的进度增长方向
// 获取和设置是否外观反转
bool invertedAppearance() const
void setInvertedAppearance(bool invert)

常用信号

// 当进度条的值改变时,发射该信号
void valueChanged(int value)

举例

第三个进度条最大最小值一样,显示忙提示外观

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include<QTimer>
#include<QVBoxLayout>
#include<QProgressBar>class Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr): QWidget(parent){resize(400,300);QVBoxLayout* v_box=new QVBoxLayout(this);//进度条1QProgressBar* progress1=new QProgressBar(this);progress1->setOrientation(Qt::Horizontal);//水平进度条progress1->setRange(0,100);//范围0~100progress1->setTextVisible(true);//设置显示文本progress1->setFormat("%p%");//文本显示百分比//progress1->setAlignment(Qt::AlignLeft);//文本靠右,win11下该接口不适用progress1->setValue(0);//设置初始值v_box->addWidget(progress1);//进度条2QProgressBar* progress2=new QProgressBar(this);progress2->setOrientation(Qt::Horizontal);//水平进度条progress2->setRange(0,100);//范围0~100progress2->setTextVisible(true);//设置显示文本progress2->setFormat("%v/%m");//文本显示例如:50/100//progress2->setAlignment(Qt::AlignLeft);//文本居中progress2->setInvertedAppearance(true);//进度条反向增长progress1->setValue(0);//设置初始值v_box->addWidget(progress2);//进度条3QProgressBar* progress3=new QProgressBar(this);progress3->setOrientation(Qt::Horizontal);//水平进度条progress3->setRange(0,0);//最大最小值都为0,则变成繁忙提示的外观,此时文本也不会显示了//progress3->setTextVisible(true);//设置显示文本v_box->addWidget(progress3);static int num=0;QTimer* timer=new QTimer(this);connect(timer,&QTimer::timeout,this,[=](){if(num==100){num=-1;}++num;progress1->setValue(num);progress2->setValue(num);});timer->start(100);}~Widget()=default;
};
#endif // WIDGET_H

学习链接:https://github.com/0voice


http://www.mrgr.cn/news/35417.html

相关文章:

  • 数电学习基础(逻辑门电路+)
  • 失踪人口回归(明天开始继续更新学习内容)
  • 【Linux实践】实验三:LINUX系统的文件操作命令
  • 经典sql题(十一)查找共同好友或相互关注 二
  • 【大数据入门 | Hive】DDL数据定义语言(数据库DataBase)
  • Q必达任务脚本
  • asp.net core日志与异常处理小结
  • vue3开发中易遗漏的常见知识点
  • MySQL 中存储过程参数的设置与使用
  • 代码随想录Day 53|题目:110. 字符串接龙、105.有向图的完全可达性、106. 岛屿的周长
  • Linux下搭建iSCSI共享存储-Tgt
  • 【2024W36】肖恩技术周刊(第 14 期):什么是完美副业?
  • 二叉树进阶oj题【二叉树相关10道oj题的解析和代码实现】
  • 00DSP学习-F28379D学习准备(了解一个工程的构成)
  • 傅里叶变换及其应用笔记
  • JavaScript --json格式字符串和对象的转化
  • PHPStorm如何调整字体大小
  • 在Markdown中实现内部查询
  • DataWhale X 南瓜书学习笔记 task03笔记
  • Vue.js 中,@click 和 @click.stop的区别