Qt常用控件之QProgressBar
Qt常用控件之QProgressBar
- 1.QProgressBar的基本概念
- 2.实现进度条
- 3.细节
- 4.修改进度条背景色
🌟🌟hello,各位读者大大们你们好呀🌟🌟
🚀🚀系列专栏:【Qt的学习】
📝📝本篇内容:QProgressBar的基本概念;实现进度条;细节;修改进度条背景色
⬆⬆⬆⬆上一篇:Qt常用控件之QLCDNumber
💖💖作者简介:轩情吖,请多多指教(>> •̀֊•́ ) ̖́-
1.QProgressBar的基本概念
QProgressBar简单来说就是一个进度条,它的作用就是为了能够让用户知道程序现在的一个情况
接下来看一下它的常用函数
函数声明 | 函数说明 |
---|---|
int maximum() const | 获取进度条最大值 |
int minimum() const | 获取进度条最⼩值 |
int value() const | 获取它当前的值 |
Qt::Alignment alignment() const | ⽂本在进度条中的对⻬⽅式.。Qt::AlignLeft : 左对⻬ ;Qt::AlignRight : 右对⻬;Qt::AlignCenter : 居中对⻬;Qt::AlignJustify : 两端对⻬ |
textVisible | 进度条的数字是否可⻅ |
orientation | 进度条的⽅向是⽔平还是垂直 |
invertAppearance | 是否是朝反⽅向增⻓进度 |
textDirection | ⽂本的朝向 |
format | 数字格式 |
2.实现进度条
实现一个进度条,从0-100%递增,每100ms递增+1
3.细节
在我们编写代码的时候,为了方便槽函数中能够使用到我们的定时器,因此我们将它声明在了widget.h头文件中,并且把头文件是写在.cpp中。因此按理来说,在widget.h中应该会报错,找不到这个这个类的定义。
但是实际上没有任何问题
这个其实是源自于C++的特殊技巧,然后被Qt用到了,在Qt中有一个专门的头文件,在这个头文件中包含了所有Qt类型的前置声明,这个头文件一般不会直接接触到,它是在其他的头文件中。因此当你包含其他Qt的头文件时,都会间接的包含到这个头文件
像上面的图中,其实QWidget头文件中中已经提供了QTimer的声明,此时就可以在Widget中声明QTimer类型的指针和引用成员。但是后续如果需要使用到QTimer来创建实例或者使用到里面的成员,还是需要包含QTimer头文件,因为在QTimer头文件中才包含了详细的类定义。
在我们C/C++中,这样主要解决了编译速度的问题,因为很多头文件中可能包含了其他的头文件,其他的头文件中又包含了其他头文件,就这样非常多,这就导致了C/C++编译速度非常慢。因此通过前置声明来减少头文件的包含,但是一般性为了解决编译速度慢的问题,很多公司会有分布式编译(编译集群),包括C++20标准中引入了“模块”的概念来代替#include
4.修改进度条背景色
比起之前,这里还多写了QProgressBar,这个是选择器,主要是为了说明是针对哪个控件生效。但是这个东西会有个bug,一旦设置完后,它的数字就会跑到进度条左上角,如下图,因此我们可以进行简单设置,将它设置在较为合适的位置
设置进度条的过程中往往需要搭配定时器,并且一般进度条具体的进度如何设置都是需要根据项目来灵活设置的
🌸🌸Qt常用控件之QProgressBar大概就讲到这里啦,博主后续会继续更新更多Qt的相关知识,干货满满,如果觉得博主写的还不错的话,希望各位小伙伴不要吝啬手中的三连哦!如有小伙伴需要Qt的安装包可以私信我,你们的支持是博主坚持创作的动力!💪💪