QT基础:QSlider 滑块的简单演示

QSlider 是一个滑块组件,常用于播放视频的状态栏,显示视频播放的进度;

它的样式当然也是可以改变的,关于它的详细介绍可以参考:Qt 之 QSlider

这里主要演示以下常用信号:

sliderMoved(int)         //拖动滑块时触发
valueChanged(int)        //滑块值改变时触发
sliderPressed()          //按压滑块时触发
sliderReleased()         //松开滑块时触发

1、打开QT,创建一个 widget 项目,在UI中加入滑块和按钮

滑块共有两种,一种是水平的,一种是垂直的,它们的区别只是放置的方向不同而已

这里主要演示水平滑块,所以修改了水平滑块的最大值、鼠标移动和键盘移动的参数,垂直滑块保持默认的参数

 

 2、以下是演示代码,其中定义了5个槽函数,这里的代码是写在 widget.cpp 中的

        Click() 槽函数绑定的是 按钮的点击事件

        其他的槽函数绑定的滑块的值改变、移动、按压、释放事件

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
}
void Widget::Click()
{
    // 获取滑块当前值
    int value = ui->horizontalSlider->value();
    // 将滑块当前值+10 写入进去
    ui->horizontalSlider->setValue(value + 10);
}

// 滑块值改变后触发
void Widget::Change(int value)
{
    // 获取滑块当前值
    qDebug() << "Change value = " << ui->horizontalSlider->value();
}

// 滑块移动时就触发
void Widget::Move(int value)
{
    qDebug() << "Move value = " << ui->horizontalSlider->value();
}

// 按压滑块时触发
void Widget::Press()
{
    qDebug() << "Press value = " << ui->horizontalSlider->value();
}

// 松开时触发
void Widget::Releas()
{
    qDebug() << "Releas value =" << ui->horizontalSlider->value();
}

Widget::~Widget()
{
    delete ui;
}

 3、演示效果

Change()绑定的是值改变触发事件,我们可以看到,它主要可以通过拖动滑块键盘移动滑块点击滑块左侧或右侧、还有被其他槽函数改变滑块值而触发

Move()绑定的是拖动滑块事件,这里注意的是,在按下滑块拖动的时候,它的触发是在值改变之前

按压和释放就是对滑块进行按压或释放时,各触发一次

 

猜你喜欢

转载自blog.csdn.net/qq_39085747/article/details/129285993