Qt常用控件之滑动条QSlider

发布于:2025-03-06 ⋅ 阅读:(14) ⋅ 点赞:(0)

滑动条QSlider

QSlider 是一个滑动条控件,可以用鼠标拖动。QSlider 有水平滑动条(horizontalSlider)和垂直滑动条(verticalSlider)两种。

1. QSlider属性

属性 说明
value 当前数值。
minimum 最小值。
maximum 最大值。
singleStep 按下方向键时改变的步长。
pageStep 按下 pageUp/pageDown 时改变的步长。
sliderPosition 滑动条的初始位置。
tracking 外观是否会跟随数值变化(默认为 true)。
orientation 滑动条的方向是水平还是垂直。
invertedAppearance 是否要反转滑动条的滑动方向。
tickPosition 刻度的位置。
tickInterval 刻度的密集程度。

2. QSlider信号

信号 说明
valueChanged(int) 数值改变时触发。
rangeChanged(int, int) 范围变化时触发。

3. 使用QSlider制作窗口大小滑动条

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


Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    ui->horizontalSlider->setMinimum(500);
    ui->horizontalSlider->setMaximum(2000);
    ui->horizontalSlider->setValue(800);

    ui->verticalSlider->setMinimum(500);
    ui->verticalSlider->setMaximum(2000);
    ui->verticalSlider->setValue(800);
    ui->verticalSlider->setInvertedAppearance(true);//反转拖动方向
}

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


void Widget::on_horizontalSlider_valueChanged(int value)
{
    QRect rect =this->geometry();
    this->setGeometry(rect.x(),rect.y(),value,rect.height());
    ui->label->setText(QString(QString::number(rect.height())+","+QString::number(value)));
}

void Widget::on_verticalSlider_valueChanged(int value)
{
    QRect rect =this->geometry();
    this->setGeometry(rect.x(),rect.y(),rect.width(),value);
    ui->label->setText(QString(QString::number(rect.width())+","+QString::number(value)));
}

QSlider1


网站公告

今日签到

点亮在社区的每一天
去签到