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中,并设置窗口的标题和大小。
当我们运行这个例子时,我们可以看到一个垂直方向的滑动条和一个标签。通过拖动滑块,标签会实时更新为滑动条的当前值。
