下面的例子主要是使用滑動窗口來控制字體的大小, 字體大小的設置通過QLabel().setFont(QFont('Arial', size))
QSliderDemo.py
""" 滑塊控件(QSlider) """ import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * from PyQt5.QtCore import Qt class SliderDemo(QWidget): def __init__(self): super(SliderDemo, self).__init__() self.initUI() def initUI(self): self.setWindowTitle('滑塊控件演示') self.resize(300, 700) layout = QVBoxLayout() self.label = QLabel('你好 PyQt5') self.label.setAlignment(Qt.AlignCenter) layout.addWidget(self.label) self.slider = QSlider(Qt.Horizontal) #設置最小值 self.slider.setMinimum(12) #設置最大值 self.slider.setMaximum(48) #步長 self.slider.setSingleStep(3) #設置當前值 self.slider.setValue(18) #設置刻度的位置, 刻度在下方 self.slider.setTickPosition(QSlider.TicksBelow) #設置刻度的間隔 self.slider.setTickInterval(6) self.slider.valueChanged.connect(self.valueChange) self.slider1 = QSlider(Qt.Vertical) # 設置最小值 self.slider1.setMinimum(10) # 設置最大值 self.slider1.setMaximum(60) # 步長 self.slider1.setSingleStep(5) # 設置當前值 self.slider1.setValue(30) # 設置刻度的位置, 刻度在下方 self.slider1.setTickPosition(QSlider.TicksLeft) # 設置刻度的間隔 self.slider1.setTickInterval(2)
、 #當刻度變化時, 將標簽的字體進行設置 self.slider1.valueChanged.connect(self.valueChange) layout.addWidget(self.slider) layout.addWidget(self.slider1) self.setLayout(layout) def valueChange(self): print("當前值: %s" % self.slider.value()) size = self.sender().value() self.label.setFont(QFont('Arial', size)) if __name__ == "__main__": app = QApplication(sys.argv) main = SliderDemo() main.show() sys.exit(app.exec_())