QT入门Input Widgets之QSlider

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

QT入门Input Widgets之QSlider

目录

一、界面布局功能

1、界面位置介绍

2、控件界面基本属性

2.1horizontalSlider界面属性

2.2设置步进

2.3打开或关闭滑块跟踪(setTracking)

二、属性功能介绍

1、常用信号

2、调用信号

3、鼠标点击QSlider滑块定在点击位置

三、Demo展示

此文为作者原创,创作不易,转载请标明出处!

一、界面布局功能

1、界面位置介绍

QSlider主要分为两种,一种垂直一种水平:

horizontalSlider如下:

 Vertical Slider如下:

2、控件界面基本属性

2.1.  horizontalSlider界面属性

以下属性,以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博客

百度云盘:链接:https://pan.baidu.com/s/11b634VvKMIsGdahyBLpZ3Q   提取码:6666
————————————————
版权声明:本文为CSDN博主「Littlehero_121」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Littlehero_121/article/details/129006614

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐