软硬件环境
- Windows 10 64bit
- Anaconda3 with python 3.8
- PyQt5 5.15
前言
滑动条 QSlider
也是一个常见的控件,有水平滑动条和垂直滑动条之分,它通常用来获取用户输入,一般是数值,简单直观。
实操
部分注释写在了代码中
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QSlider
from ui import Ui_MainWindow
class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
# 水平滑动条
# 设置最小值
self.horizontalSlider.setMinimum(0)
# 设置最大值
self.horizontalSlider.setMaximum(100)
# 默认值,这里放一个 label 控件来显示当前滑动条的值
self.label_horizontal.setText('50')
# 步长,比如水平滑动条使用方向键一次,滑动条增加/减少的值
self.horizontalSlider.setSingleStep(2)
# 刻度显示的位置,不添加这句,即不设置刻度
self.horizontalSlider.setTickPosition(QSlider.TicksBelow)
# valueChanged信号的绑定,常见的信号还有sliderPressed、sliderReleased、sliderMoved
self.horizontalSlider.valueChanged.connect(self.update_horizontal)
# 垂直滑动条的操作非常类似
self.verticalSlider.setMinimum(0)
self.verticalSlider.setMaximum(1000)
self.label_vertical.setText('500')
self.verticalSlider.setSingleStep(10)
self.verticalSlider.setTickPosition(QSlider.TicksRight)
self.verticalSlider.valueChanged.connect(self.update_vertical)
def update_horizontal(self):
self.label_horizontal.setText(str(self.horizontalSlider.value()))
def update_vertical(self):
self.label_vertical.setText(str(self.verticalSlider.value()))
if __name__ == '__main__':
app = QApplication(sys.argv)
windows = MainWindow()
windows.show()
sys.exit(app.exec_())
源码下载
https://github.com/xugaoxiang/learningPyQt5
PyQt5系列教程
更多 PyQt5
教程,请移步