Qt之滑动条和进度条(QSlider、QProgressBar)
文章目录
- 前言
- 一、QSlider
- QSlider的常用API
- 信号与槽
- 二、QProgressBar
- 滑动条和滚动条的常用API
- 总结
前言
在用户界面设计中,滑动条和进度条是常见的控件。Qt中提供了QProgressBar和QSlider两个类来实现滚动条和滑动条。
一、QSlider
在Qt中,QSlider是一个用于设置值的控件。它可以用于音频和视频应用程序中的音量控制、视频播放器中的进度条控制,还可以用于显示一定范围内的整数或浮点数。QSlider类具有以下特征:
它是QWidget的子类。
它可以出现在水平和垂直方向上。
可以设置最大和最小值。
可以显示当前值。
可以设置步骤或单元大小。
在Qt中有两种进度条,我们通过设置属性就可以在他们之间变化:
- horizontalSlider
- verticalSlider
他们几乎是一样使用的。
QSlider的常用API
- 构造函数
QSlider(QWidget * parent)
- 最大值和最小值
void setMinimum(int min)//设置最小值
void setMaximum(int max)//设置最大值
void setRange(int min, int max)//设置范围,默认为0~99
int minimum() const//返回最小值
int maximum() const//返回最大值
- 当前值
void setValue(int value)//设置当前值
int value() const//返回当前值
- 步长
默认步长为1,在QSlider中,当鼠标在他上面时,我们可用通过小键盘的左右/上下调整值,当我们点击左右后,他就会加step个值
void setSingleStep(int step)
int singleStep() const
- 检测是否按下滑块
bool isSliderDown();//返回用户是否滑块按下滑块
6.进度条的方向
// 获取和设置滑动条的方向
Qt::Orientation orientation() const;
void setOrientation(Qt::Orientation);
方向有如下两种:
方向 | value |
---|---|
Qt::Horizontal | 0x1 |
Qt::Vertical | 0x2 |
信号与槽
valueChanged()//值被改变
sliderPressed()//滑块被点击
sliderMoved()//滑块移动
sliderReleased();//滑块被释放
二、QProgressBar
在各种应用程序中,进度条是一种非常常见的控件,通常用于显示任务的进行情况,比如文件上传和下载、批量操作等。在Qt中,QProgressBar是用于实现进度条的类。本文将介绍QProgressBar的一些常用属性和方法,以帮助您快速构建出各种进度条。
在Qt中,进度条用于显示任务的进度情况。QProgressBar是用于实现进度条的类,它具有以下特性:
它是QWidget的子类。
可以在水平方向和垂直方向上显示。
可以显示进度文本。
滑动条和滚动条的常用API
1.构造函数
这个构造函数有很多重载,其中最常用的是第一个版本。这个版本不指定最小值和最大值,它们默认为0和100。第二个版本用于指定范围内的值。
QProgressBar(QWidget * parent = nullptr)//只指定父类
QProgressBar(int minimum, int maximum, QWidget * parent = nullptr)//指定最小值,最大值和父类
2.最小值和最大值
void setMinimum(int min)//设置最小值
void setMaximum(int max)//设置最大值
int minimum() const//返回最小值
int maximum() const//返回最大值
void setRange(int min, int max)//设置范围,默认为0~99
当min和max都为0时,他就会开始滚动:
3.当前值
void setValue(int value)//设置当前值
int value() const//返回当前值
4.文本显示
void setTextVisible(bool visible)//是否显示进度文本
bool isTextVisible() const//返回是否显示进度文本
void setFormat(const QString & format)//格式化进度文本
QString format() const//返回格式化进度文本
void setAlignment(Qt::Alignment alignment)//设置对齐
Qt::Alignment alignment() const//返回对齐
总结
在用户界面设计中,滑动条和进度是常见的控件。
QProgressBar是Qt中的一个进度条控件,它可以用于显示任务的进行状态,例如文件上传和下载、批量处理等。
QSlider是Qt中的一个滑动条控件,它可以用于向用户显示数值和允许用户通过拖动滑块来选择数值。在QSlider中,用户可以通过鼠标或者键盘来操作滑块的位置,从而改变当前的数值。
Qt中提供了QProgressBar和QSlider两个类来实现滚动条和进度条。