欢迎访问宙启技术站
智能推送

PySide.QtGuiQSlider()实例解析

发布时间:2024-01-06 04:43:01

PySide.QtGui.QSlider是Qt中的一个滑动条控件,它允许用户在给定范围内拖动一个可移动的滑块来选择一个数值。

PySide.QtGui.QSlider的构造函数为:

QSlider(Qt.Orientation orientation, QWidget parent = None)

参数说明:

- orientation: 滑动条的方向,可以为Qt.Horizontal(水平方向)或者Qt.Vertical(垂直方向)。

- parent: 父级窗口小部件。

以下是一个使用PySide.QtGui.QSlider的例子:

import sys
from PySide.QtCore import Qt
from PySide.QtGui import QApplication, QMainWindow, QSlider, QLabel, QVBoxLayout, QWidget

class SliderExample(QWidget):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        # 创建一个竖直方向的滑动条
        slider = QSlider(Qt.Vertical, self)
        slider.setFocusPolicy(Qt.NoFocus)
        slider.setGeometry(30, 40, 30, 200)
        slider.setRange(0, 100)
        slider.setValue(50)
        slider.valueChanged[int].connect(self.changeValue)

        # 创建一个标签用于显示滑动条的当前值
        self.label = QLabel(self)
        self.label.setGeometry(160, 40, 80, 30)
        self.label.setText(str(slider.value()))

        # 创建一个垂直布局并将滑动条和标签添加到其中
        vbox = QVBoxLayout()
        vbox.addWidget(slider)
        vbox.addWidget(self.label)

        # 设置窗口的布局
        self.setLayout(vbox)

        # 设置窗口的标题和大小
        self.setWindowTitle('Slider Example')
        self.setGeometry(300, 300, 280, 170)

    def changeValue(self, value):
        # 更新标签的文本为滑动条的当前值
        self.label.setText(str(value))

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = SliderExample()
    window.show()
    sys.exit(app.exec_())

在这个例子中,我们创建了一个垂直方向的滑动条,并将其添加到QWidget实例中。我们还创建了一个标签,用于显示滑动条的当前值。滑动条的数值改变时会触发一个valueChanged信号,我们将这个信号连接到一个槽函数changeValue,用于更新标签的文本。最后,我们使用QVBoxLayout布局管理器将滑动条和标签添加到QWidget中,并设置窗口的标题和大小。

当我们运行这个例子时,我们可以看到一个垂直方向的滑动条和一个标签。通过拖动滑块,标签会实时更新为滑动条的当前值。