一、QSlider头文件
#include <QSlider>
二、Qslider常用方法
1.创建进度条控件
QSlider *playSlider = new QSlider();
2.设置为水平、垂直方向
playSlider->setOrientation(Qt::Horizontal);//水平方向
playSlider->setOrientation(Qt::Qt::Vertical);//垂直方向
3.设置进度条长度和宽度
playSlider->setFixedSize(400,30);//长和宽控制
4.设置进度条最大、最小、取值范围
playSlider->setMaximum(0);
playSlider->setMinimum(180);
playSlider->setRange(0,180);
5.设置当前进度
playSlider ->setValue(50);
6.设置单步长
单步长,拖动标尺上的滑块,或按下左/右光标键时的最小变化数值
playSlider->setSingleStep(int);
7.设置标尺刻度的显示位置
枚举类型QSlider:TickPosition,取值包括以下6种:
setTickPosition(TickPosition position)
QSlider::NoTicks //不显示刻度
QSlider::TicksBothSides //标尺两侧都显示刻度
QSlider::TicksAbove //标尺上方显示刻度
QSlider::TicksBelow //标尺下方显示刻度
QSlider::TicksLeft //标尺左侧显示刻度
QSlider::TicksRight //标尺右侧显示刻度
三、Qslider常用信号
1.移动滑动条时发出的信号
void sliderMove(int value);
2.点击滑动条时所发出的信号
void sliderPressed();
3.释放时所发出的信号
void sliderReleased();
4. 数值改变时发出的信息
void valueChanged(int value);
四、两套Qslider进度条样式表
1.
QSlider::groove:horizontal {
border: 0px solid #bbb;
}
QSlider::sub-page:horizontal {
background: rgb(90,49,255);
border-radius: 2px;
margin-top:8px;
margin-bottom:8px;
}
QSlider::add-page:horizontal {
background: rgb(255,255, 255);
border: 0px solid #777;
border-radius: 2px;
margin-top:9px;
margin-bottom:9px;
}
QSlider::handle:horizontal {
background: rgb(193,204,208);
width: 5px;
border: 1px solid rgb(193,204,208);
border-radius: 2px;
margin-top:6px;
margin-bottom:6px;
}
QSlider::handle:horizontal:hover {
background: rgb(193,204,208);
width: 10px;
border: 1px solid rgb(193,204,208);
border-radius: 5px;
margin-top:4px;
margin-bottom:4px;
}
2.
QSlider::groove:horizontal {
height: 5px;
background: #e67e22;
}
QSlider::groove:vertical {
width: 5px;
background: #e67e22;
}
QSlider::handle:horizontal {
background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #b4b4b4, stop:1 #8f8f8f);
border: 1px solid #5c5c5c;
width: 14px;
margin: -5px 0;
border-radius: 7px;
}
QSlider::handle:vertical {
background: qlineargradient(x1:1, y1:1, x2:0, y2:0, stop:0 #b4b4b4, stop:1 #8f8f8f);
border: 1px solid #5c5c5c;
height: 14px;
margin: 0 -5px;
border-radius: 7px;
}
QSlider::add-page:horizontal {
background: white;
}
QSlider::add-page:vertical {
background: white;
}
QSlider::sub-page:horizontal {
background: #e67e22;
}
QSlider::sub-page:vertical {
background: #e67e22;
}