滑动条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)));
}
