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】


开心分享:

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

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

偕臧x

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值