QSlider 是一個具有可來回拉動手柄的控件。有時使用滑塊比輸入數字或使用旋轉框更方便。
在我們的例子中,我們將創建一個滑塊和一個標簽。標簽顯示圖像。滑塊將控制標簽顯示的圖像。
#!/usr/bin/python3# -*- coding: utf-8 -*-"""PyQt5 教程這個例子顯示了一個QSlider控件的使用方法。作者:我的世界你曾經來過博客:http://blog.csdn.net/weiaitaowang最后編輯:2016年8月3日"""import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QLabel, QSliderfrom PyQt5.QtGui import QPixmapfrom PyQt5.QtCore import Qtclass Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): sld = QSlider(Qt.Horizontal, self) sld.setFocusPolicy(Qt.NoFocus) sld.setGeometry(30, 40, 100, 30) sld.valueChanged[int].connect(self.changeValue) self.label = QLabel(self) self.label.setPixmap(QPixmap('F:/Python/PyQt5/Widgets/images/mute.png')) self.label.setGeometry(160, 30, 80, 50) self.setGeometry(300, 300, 280, 170) self.setWindowTitle('滑塊控件') self.show() def changeValue(self, value): if value == 0: self.label.setPixmap(QPixmap('F:/Python/PyQt5/Widgets/images/mute.png')) elif value > 0 and value <= 30: self.label.setPixmap(QPixmap('F:/Python/PyQt5/Widgets/images/min.png')) elif value > 30 and value < 80: self.label.setPixmap(QPixmap('F:/Python/PyQt5/Widgets/images/med.png')) else: self.label.setPixmap(QPixmap('F:/Python/PyQt5/Widgets/images/max.png'))if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())在我們的例子中,我們模擬音量控制。通過拖動滑塊的手柄,我們改變標簽上的圖像。
sld = QSlider(Qt.Horizontal, self)
創建一個水平滑塊 QSlider
self.label = QLabel(self)self.label.setPixmap(QPixmap('F:/Python/PyQt5/Widgets/images/mute.png'))創建一個標簽 QLabel 控件并設置要顯示的初始圖像
sld.valueChanged[int].connect(self.changeValue)
將滑塊的 valueChanged 信號連接到 changeValue() 方法(槽)
if value == 0: self.label.setPixmap(QPixmap('F:/Python/PyQt5/Widgets/images/mute.png'))我們根據滑塊的值設置標簽上的圖像。在上面的代碼中,如果滑塊等于零標簽的圖像設置為mute.png。
程序執行后

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。
新聞熱點
疑難解答