QSlider、QScrollBar、QProgressBar控件的联动

简介: QSlider移动条、QScrollBar滚动条、QProgressBar进度条控件的联动,讲解和的使用


编程环境: win10 x64 专业版 1803

编程软件: Qt Creator 4.8.2 (Enterprise)Qt 5.9.8


系列博文:

比较紧密的关联博文参考:


## 运行效果:

先放一张运行效果


继承关系:

QSlider移动条、QScrollBar滚动条、进度条这三个控件,都是继承于QAbstractSlider类,其中关于QSlider和QAbstractSlider属性讲解,参考已经发过的文章https://blog.csdn.net/qq_33154343/article/details/100944831 ;关于这几个控件的继承关系如下图:


滚动条QScrollBar:

  • QScrollBar 从QAbstractSlider继承而来的,具有QAbstractSlider的基本属性,没有专有属性。

进度条QProgressBar:

  • QProgressBar的父类是QWidget,一般用于进度显示,常用属性如下。
属性含义
minimum最小值
maximum最大值
value当前值,可以设定或读取当前值
textVisible是否显示文字,文字一般是百分比表示的进度。
orientation可以设置为水平或垂直方向。
format显示文字的格式,“%p%”显示百分比,“%v”显示当前值,“%m”显示总步数。缺省为“%p%”。

代码演示:

此处实现了,信号于槽函数的多对一,从而避免了槽函数的重复写多遍

//ui->progressBarHor->setOrient1ation(Qt::Horizontal /*(the default)  Qt::Vertical*/);  设置进度条水平或竖直

connect(ui->sliderHor, SIGNAL(valueChanged(int)), this, SLOT(onValChange(int)));
connect(ui->scrollBarHor, SIGNAL(valueChanged(int)), this, SLOT(onValChange(int)));
connect(ui->scrollBarHor, SIGNAL(valueChanged(int)), this, SLOT(onValChange(int)));
connect(ui->sliderVer, SIGNAL(valueChanged(int)), this, SLOT(onValChange(int)));
connect(ui->scrollBarVer, SIGNAL(valueChanged(int)), this, SLOT(onValChange(int)));
connect(ui->progressBarVer, SIGNAL(valueChanged(int)), this, SLOT(onValChange(int)));

===================================================================================

//对应的槽函数
void ExQProgressBar::onValChange(int val)
{
    ui->sliderHor->setValue(val);
    ui->scrollBarHor->setValue(val);
    ui->progressBarHor->setValue(val);
    ui->sliderVer->setValue(val);
    ui->scrollBarVer->setValue(val);
    ui->progressBarVer->setValue(val);

}

源码下载:

https://github.com/xmuli/QtExamples【QtQProgressBarEx】


开心分享:

因为有着许许多多的热心网友的无私分享,从他们的博客中学习成长,学会很多,故也不辞辛苦也将自己的项目或经验整理成博客的形式,也提供给一起大家学习探讨与交流

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:猿与汪的秘密 设计师:我叫白小胖 返回首页

打赏作者

偕臧x

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值