import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *class QSliderDemo(QWidget):def __init__(self):super(QSliderDemo, self).__init__()self.initUI()def initUI(self):self.setWindowTitle('滑块控件演示') # 创建窗口标题self.resize(800, 600) # 设置主窗口大小layout = QVBoxLayout() # 垂直布局# todo Lable 创建根据水平位置的滑块数值大小而改变的显示标签(字符)self.label = QLabel('水平滑块—字体大小') # 要显示的内容self.label.setAlignment(Qt.AlignCenter) # 居中显示# todo Lable1 创建根据垂直位置的滑块数值大小而改变的显示标签(字符)self.label1 = QLabel('垂直滑块—字体大小') # 要显示的内容self.label1.setAlignment(Qt.AlignCenter) # 居中显示# todo Lable2 创建根据水平位置的滑块数值大小而改变的显示标签(字符)self.label2 = QLabel('水平滑块—字体位移') # 要显示的内容self.label2.setFont(QFont('Arial', 20)) # 设置字体大小(静态)# todo Lable3 创建根据垂直位置的滑块数值大小而改变的显示标签(字符)self.label3 = QLabel('垂直滑块—字体位移') # 要显示的内容self.label1.setFont(QFont('Arial', 20)) # 设置字体大小(静态)# todo 将label,label1,label2,label3画出layout.addWidget(self.label)layout.addWidget(self.label1)layout.addWidget(self.label2)layout.addWidget(self.label3)# todo 创建一个水平的滑块""" * * * * 水 * * 平 * * * 滑 * * * * 块 * * * * """self.slider = QSlider(Qt.Horizontal) # 水平(左右拖动)# 设置最小值self.slider.setMinimum(10)# 设置最大值self.slider.setMaximum(50)# 步长self.slider.setSingleStep(5)# 设置当前值self.slider.setValue(10)# 设置刻度的位置,刻度在下边self.slider.setTickPosition(QSlider.TicksBelow)# 设置刻度得间隔self.slider.setTickInterval(1)layout.addWidget(self.slider) # 画出控件(滑块控件)self.slider.valueChanged.connect(self.valueChange) # 绑定信号槽# todo 创建一个垂直的滑块""" * * * * 垂 * * 直 * * * 滑 * * * * 块 * * * * """self.slider1 = QSlider(Qt.Vertical) # 垂直滑块# 设置最小值self.slider1.setMinimum(5)# 设置最大值self.slider1.setMaximum(30)# 步长self.slider1.setSingleStep(5)# 设置当前值self.slider1.setValue(5)# 设置刻度的位置,刻度在左边self.slider1.setTickPosition(QSlider.TicksLeft)# 设置刻度间隔self.slider1.setTickInterval(5)layout.addWidget(self.slider1) # 画出控件(滑块控件)self.slider1.valueChanged.connect(self.valueChange) # 绑定信号槽self.setLayout(layout) # 在主窗口中显示出上述控件def valueChange(self):print('——————水平滑块当前值为——————: %s' % self.slider.value())print('++++++垂直滑块当前值为++++++: %s' % self.slider1.value())size = self.slider.value() # 水平滑块位置的值size1 = self.slider1.value() # 垂直滑块位置的值# todo 看lable,lable1根据滑块值对字号改变self.label.setFont(QFont('Arial', size)) # 设置字体大小self.label1.setFont(QFont('Arial', size1)) # 设置字体大小# todo 注释掉上面两行代码,并使用下面两行代码可以看到Lable2,Lable3位置变化# self.label2.move(size*30, size1*30)# self.label3.move(size1 * 30, size * 30)if __name__ == '__main__':app = QApplication(sys.argv)main = QSliderDemo()main.show()sys.exit(app.exec_())