Qt之滑动条和进度条(QSlider、QProgressBar)

举报
人才程序员 发表于 2023/11/30 17:57:58 2023/11/30
【摘要】 @TOC 前言在用户界面设计中,滑动条和进度条是常见的控件。Qt中提供了QProgressBar和QSlider两个类来实现滚动条和滑动条。 一、QSlider在Qt中,QSlider是一个用于设置值的控件。它可以用于音频和视频应用程序中的音量控制、视频播放器中的进度条控制,还可以用于显示一定范围内的整数或浮点数。QSlider类具有以下特征:它是QWidget的子类。它可以出现在水平和垂直...

@TOC


前言

在用户界面设计中,滑动条和进度条是常见的控件。Qt中提供了QProgressBar和QSlider两个类来实现滚动条和滑动条。


一、QSlider

在Qt中,QSlider是一个用于设置值的控件。它可以用于音频和视频应用程序中的音量控制、视频播放器中的进度条控制,还可以用于显示一定范围内的整数或浮点数。QSlider类具有以下特征:

它是QWidget的子类。
它可以出现在水平和垂直方向上。
可以设置最大和最小值。
可以显示当前值。
可以设置步骤或单元大小。

在Qt中有两种进度条,我们通过设置属性就可以在他们之间变化:

  • horizontalSlider
  • verticalSlider
    他们几乎是一样使用的。
    在这里插入图片描述
    在这里插入图片描述

QSlider的常用API

  1. 构造函数
QSlider(QWidget * parent)
  1. 最大值和最小值
void setMinimum(int min)//设置最小值
void setMaximum(int max)//设置最大值
void setRange(int min, int max)//设置范围,默认为0~99
int minimum() const//返回最小值
int maximum() const//返回最大值
  1. 当前值
void setValue(int value)//设置当前值
int value() const//返回当前值
  1. 步长
    默认步长为1,在QSlider中,当鼠标在他上面时,我们可用通过小键盘的左右/上下调整值,当我们点击左右后,他就会加step个值
void setSingleStep(int step)
int singleStep() const
  1. 检测是否按下滑块
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两个类来实现滚动条和进度条。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。