QSlider简介
QSlider部件提供了一个垂直或水平滑动条。滑块是一个用于控制有界值的典型部件。它允许用户沿水平或垂直方向移动滑块,并将滑块所在的位置转换成一个合法范围内的值。
QSlider很少有自己的函数,大部分功能在QAbstractSlider中。
最有用的函数是setValue(),用来设置滑块的当前值;
triggerAction()来模拟点击的效果(对快捷键有用),
setSingleStep()、setPageStep()用来设置步长,
setMinimum()和setMaximum()用于定义滚动条的范围。
QSlider只提供整数范围。
QSlider提供了一些方法来控制刻度标记。可以使用setTickPosition()来表示刻度标记的位置,使用setTickInterval()来指定刻度的间隔;当前设置的刻度位置和间隔可以分别使用tickPosition()和tickInterval()函数来查询。
QSlider继承了一组全面的信号:
valueChanged():当滑块的值发生了改变,发射此信号。
tracking()确定在用户交互时,是否发出此信号。
sliderPressed():当用户按下滑块,发射此信号。
sliderMoved():当用户拖动滑块,发射此信号。
sliderReleased():当用户释放滑块,发射此信号。
QSlider案例
// 微调框
/* */
QSpinBox *pSpinBox_Age = ui->spinBox_Age;
pSpinBox_Age->setMinimum(nMin); // 最小值
pSpinBox_Age->setMaximum(nMax); // 最大值
pSpinBox_Age->setSingleStep(nSingleStep); // 步长
// 滑动条
QSlider *pSlider_Age = ui->horizontalSlider_Age;
pSlider_Age->setOrientation(Qt::Horizontal); // 水平方向
pSlider_Age->setMinimum(nMin); // 最小值
pSlider_Age->setMaximum(nMax); // 最大值
pSlider_Age->setSingleStep(nSingleStep); // 步长
// 连接信号槽(相互改变)
connect(pSpinBox_Age, SIGNAL(valueChanged(int)),
pSlider_Age, SLOT(setValue(int)));
connect(pSlider_Age, SIGNAL(valueChanged(int)),
pSpinBox_Age, SLOT(setValue(int)));