QSlider
![在这里插入图片描述](https://img-blog.csdnimg.cn/ee02b8cf9f8a4e33b5247e57319e4e08.png#pic_center)
简单方法
sd = QSlider(self)
sd.resize(250, 30)
sd.setTickPosition(QSlider.TicksLeft)
sd.setTickInterval(5)
sd.setMaximum(100)
sd.setMinimum(0)
sd.setValue(55)
sd.value()
sd.setSingleStep(5)
sd.setPageStep(20)
sd.setTracking(False)
sd.hasTracking()
sd.setSliderPosition(20)
sd.setInvertedAppearance(True)
sd.setInvertedControls(True)
sd.setOrientation(Qt.Horizontal)
信号
label = QLabel('0', self)
label.move(200, 200)
label.resize(150, 30)
sd = QSlider(self)
sd.move(100, 100)
sd.valueChanged.connect(lambda: label.setText(str(sd.value())))
sd.sliderMoved.connect(lambda var: print(var))
sd.actionTriggered.connect(lambda var: print(var))
sd.rangeChanged.connect(lambda min_, max_: print(min_, max_))
sd.setMaximum(100)
案例
class Slider(QSlider):
def __init__(self, parent=None, *args, **kwargs):
super().__init__(parent, *args, **kwargs)
self.setTickPosition(QSlider.TicksBothSides)
self.add_label()
def add_label(self):
self.label = QLabel('0', self)
self.label.hide()
self.label.setStyleSheet('color:red;')
def mousePressEvent(self, event):
super().mousePressEvent(event)
x = 0
y = (1 - self.value() / (self.maximum() - self.minimum())) * (self.height() - self.label.height())
self.label.show()
self.label.move(x, y)
def mouseMoveEvent(self, event):
super().mouseMoveEvent(event)
x = 0
y = (1 - self.value() / (self.maximum() - self.minimum())) * (self.height() - self.label.height())
self.label.move(x, y)
self.label.setText(str(self.value()))
self.label.adjustSize()
sd = Slider(self)
sd.resize(80, 250)
sd.move(100, 10)
![在这里插入图片描述](https://img-blog.csdnimg.cn/34e2e8176e8d44f49a95019dbc1678e2.png#pic_center)
QScrollBar
![在这里插入图片描述](https://img-blog.csdnimg.cn/cf13bc2252bf41d997c0fc4e97158ad2.png#pic_center)
简单方法
sb = QScrollBar(self)
sb.resize(30, 200)
sb.move(10, 10)
sb_1 = QScrollBar(Qt.Horizontal, self)
sb_1.resize(200, 30)
sb_1.move(50, 10)
sb.setPageStep(50)
sb.grabKeyboard()
信号
sb = QScrollBar(self)
sb.valueChanged.connect(lambda val: print(val))
QDial
![在这里插入图片描述](https://img-blog.csdnimg.cn/d48dff990ecf40728962e7f7098d8af7.png#pic_center)
简单方法
dia = QDial(self)
dia.setRange(0, 100)
dia.setNotchesVisible(True)
dia.setPageStep(25)
dia.setWrapping(True)
dia.setNotchTarget(10)
信号
label = QLabel('你好啊!', self)
label.move(100, 100)
dia = QDial(self)
def func(value):
label.setStyleSheet('font-size:{}px;'.format(value))
label.adjustSize()
dia.valueChanged.connect(func)