[Python自學] PyQT5-QSpinBox、QSlider控件


一、QSpinBox控件

1.使用示例

def initUI8(self):
    # 調整窗口大小
    self.resize(200,100)
    
    # label用於顯示當前spinBox的值
    self.label = QLabel("當前值")
    self.label.setAlignment(Qt.AlignCenter)

    # 定義一個計數控件
    self.spin = QSpinBox()
    # 綁定槽函數
    self.spin.valueChanged.connect(self.valueChenge)

    vbox = QVBoxLayout()
    vbox.addWidget(self.label)
    vbox.addWidget(self.spin)

    self.setLayout(vbox)

# 當spinBox的值改變時,觸發這個槽函數
def valueChenge(self):
    self.label.setText('當前值:' + str(self.spin.value()))

效果:

2.其他方法

self.spin.setRange(100, 200)  # 設置可選范圍100-200
self.spin.setValue(118)  # 設置當前值為118
self.spin.setSingleStep(3)  # 設置每次增加或減少的步長為3

二、QSlider控件

QSlider是通過滑塊來控制數值的大小;

1.使用示例

def initUI8(self):
    # 調整窗口大小
    self.resize(200, 100)

    # label用於顯示當前spinBox的值
    self.label = QLabel("當前值")
    self.label.setAlignment(Qt.AlignCenter)

    self.slider = QSlider(Qt.Horizontal)  # 定義一個橫向的slider滑塊控件
    self.slider.setMinimum(12)  # 設置最小值
    self.slider.setMaximum(50)  # 設置最大值
    self.slider.setValue(18)
    self.slider.setSingleStep(2)  # 設置變化步長

    self.slider.setTickPosition(QSlider.TicksBelow)  # 設置刻度在下方
    self.slider.setTickInterval(6)  # 設置刻度間隔,即滑條下面的小豎線

    # 綁定槽函數
    self.slider.valueChanged.connect(self.valueChenge)

    vbox = QVBoxLayout()
    vbox.addWidget(self.label)
    vbox.addWidget(self.slider)

    self.setLayout(vbox)

# 當slider的值改變時,觸發這個槽函數
def valueChenge(self):
    size = self.slider.value()
    print('當前值:' + str(size))
    self.label.setFont(QFont('Arial', size))

效果:

 

====


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM