📜  PyQt5 QSlider | Python(1)

📅  最后修改于: 2023-12-03 15:18:49.178000             🧑  作者: Mango

PyQt5 QSlider | Python

PyQt5是Python编程语言的一种GUI工具包。QSlider是PyQt5中的一个控件类,可用于创建滑块。它是一个水平或垂直的滑动条,用户可以通过拖动滑块来改变其值,或者通过点击条来选择不同的值。这使得QSlider成为一个很好的选择,当需要用户进行不同程度的设置时。

下面是如何使用PyQt5 QSlider创建一个滑块的示例:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QSlider, QVBoxLayout, QLabel

class App(QWidget):

    def __init__(self):
        super().__init__()
        self.title='PyQt5 QSlider'
        self.left=200
        self.top=200
        self.width=400
        self.height=200
        self.initUI()

    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)

        vbox=QVBoxLayout()

        label=QLabel('Slider Example')
        vbox.addWidget(label)

        slider=QSlider()
        slider.setOrientation(1)
        slider.setMinimum(10)
        slider.setMaximum(30)
        slider.setValue(20)
        slider.setTickInterval(5)
        slider.setTickPosition(2)
        slider.valueChanged.connect(self.changeValue)

        vbox.addWidget(slider)

        self.setLayout(vbox)
        self.show()

    def changeValue(self, value):
        print('Current Slider Value: '+str(value))

if __name__ == '__main__':
    app=QApplication(sys.argv)
    ex=App()
    sys.exit(app.exec_())

此示例创建了一个垂直的QSlider,并且使用setMinimum()、setMaximum()、setValue()、setTickInterval()、setTickPosition()设置了一些常用属性。最后,使用valueChanged信号连接了一个函数,当用户拉动滑块时,该函数将被调用,并输出当前值。

此外,QSlider类还有其他方法和信号,可用于更高级的用例。例如,您可以使用setRange()方法将最大值和最小值设置为一个变量,或者使用sliderMoved()信号获取用户正在拖动滑块的最新值。

总而言之,QSlider是一个易于使用且非常有用的PyQt5类,它可以帮助程序员创建可滑动、可选择不同值的滑块。