目录
一、界面布局功能
1、界面位置介绍
2、控件界面基本属性
2.1horizontalSlider界面属性
2.2设置步进
2.3打开或关闭滑块跟踪(setTracking)
二、属性功能介绍
1、常用信号
2、调用信号
3、鼠标点击QSlider滑块定在点击位置
三、Demo展示
此文为作者原创,创作不易,转载请标明出处!
一、界面布局功能
1、界面位置介绍
QSlider主要分为两种,一种垂直一种水平:
horizontalSlider如下:

Vertical Slider如下:

2、控件界面基本属性
2.1horizontalSlider界面属性
以下属性,以horizontalSlider为例。horizontalSlider基本的名称、样式等,还有设置范围设置最大值最小值


2.2设置步进
第一种是鼠标拖动时,每次步进的长度,默认是1

第二种是鼠标点击QSlider时,每次步进的大小,默认是10

2.3打开或关闭滑块跟踪(setTracking)
默认是打开的,当打开的时候,发现滑块在拖动滑块时发出valueChanged()信号。当关闭之后就会发现滑块仅在用户释放滑块时才发出valueChanged()信号。有时候在视频播放的时候,会在进度测试时需要使用此功能。

二、属性功能介绍
1、常用信号
当值发现改变时,此信号就会不停的工作

2、调用信号
演示效果,拖个lineEdit在界面上,同时右击horizontalSlider转到槽:
void MainWindow::on_horizontalSlider_valueChanged(int value)
{
    qDebug()<<"value11111:"<<value;
    QString str = QString::number(value);
    ui->lineEdit->setText(str);
}效果如下:

3、鼠标点击QSlider滑块定在点击位置
首先需要重写个类,然后进行类的提升,源码放置
void CustomSlider::mousePressEvent(QMouseEvent *event)
{
    //得到当前点击位置
    int currentpos = event->pos().x();
    //得到当前点击的位置占整个Slider的百分比
    double data = currentpos *1.0 /this->width();
    //利用算得的百分比得到具体数字
    int valuedata = data*(this->maximum() - this->minimum()) + this->minimum();
    qDebug() <<"mousepress:"<<valuedata;
    //设定当前滑动条位置
    this->setValue(valuedata);
    //滑动条移动事件等事件也用到了mousePressEvent,不对其他事件有影响
    QSlider::mousePressEvent(event);
}效果展示:

三、Demo展示
我放在精灵球里了,后期开放

精灵球介绍:精灵球Plus介绍_清风徐来Groot的博客-CSDN博客



















