可以在一个范围内拖动。
常用属性和方法
值
包括当前值、最大值、最小值
// 获取和设置当前值
int value() const;
void setValue(int);
// 获取和设置最大值
int maximum() const;
void setMaximum(int);
// 获取和设置最小值
int minimum() const;
void setMinimum(int);
// 一次设置最大值和最小值
void setRange(int min, int max)
方向
滑动条分水平滑动条和垂直滑动条(默认的方向是垂直的)
// 获取和设置滑动条的方向
Qt::Orientation orientation() const;
void setOrientation(Qt::Orientation);
步长
滑动条有两种步长
singleStep
:是指按键盘的左右箭头(←/→)时的步长pageStep
:是指点击滑块两侧时的步长
// 获取和设置singleStep
int singleStep() const;
void setSingleStep(int);
// 获取和设置pageStep
int pageStep() const;
void setPageStep(int);
常用信号
// 当滑块被按下时发射该信号
void sliderPressed();
// 当滑块移动时发射该信号
void sliderMoved(int value);
// 当滑块释放时发射该信号
void sliderReleased();
// 当滑动条的值改变时,发射该信号
void valueChanged(int value);
举例:
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include<QLineEdit>
#include<QSlider>
#include<QVBoxLayout>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr): QWidget(parent)
{
resize(300,300);
slider=new QSlider(this);
slider->setRange(0,100);
slider->setOrientation(Qt::Horizontal);//设置滑动条为水平方向
slider->setSingleStep(1);//设置键盘左右键操作滑动条时的步长
slider->setPageStep(10);//设置点击滑块2侧时滑动条的步长
edit=new QLineEdit(this);
QVBoxLayout* v_box=new QVBoxLayout(this);
v_box->addWidget(slider);
v_box->addWidget(edit);
//slider绑定槽函数
connect(slider,&QSlider::valueChanged,this,[=](){
QString info="滑动条的当前值为:"+QString::number(slider->value());
edit->setText(info);
});
}
~Widget()=default;
private:
QSlider* slider;
QLineEdit* edit;
};
#endif // WIDGET_H
学习链接:https://github.com/0voice