QSlider 信号
以下是 QSlider Signals 中的方法 -
序号 |
方法和描述 |
1 |
valueChanged()
当滑块的值发生变化时
|
2 |
sliderPressed()
当用户开始拖动滑块时
|
3 |
sliderMoved()
当用户拖动滑块时
|
4 |
sliderReleased()
当用户释放滑块时
|
valueChanged()信号是最常用的一种。
例子
以下示例演示了上述功能。一个标签和一个水平滑块放置在垂直布局中。Slider 的 valueChanged() 信号连接到 valuechange() 方法。
self.sl.valueChanged.connect(self.valuechange)
槽函数 valuechange() 读取滑块的当前值并将其用作标签标题的字体大小。
size = self.sl.value()
self.l1.setFont(QFont("Arial",size))
完整的代码如下 -
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class sliderdemo(QWidget):
def __init__(self, parent = None):
super(sliderdemo, self).__init__(parent)
layout = QVBoxLayout()
self.l1 = QLabel("Hello")
self.l1.setMoognment(Qt.MoognCenter)
layout.addWidget(self.l1)
self.sl = QSlider(Qt.Horizontal)
self.sl.setMinimum(10)
self.sl.setMaximum(30)
self.sl.setValue(20)
self.sl.setTickPosition(QSlider.TicksBelow)
self.sl.setTickInterval(5)
layout.addWidget(self.sl)
self.sl.valueChanged.connect(self.valuechange)
self.setLayout(layout)
self.setWindowTitle("SpinBox demo")
def valuechange(self):
size = self.sl.value()
self.l1.setFont(QFont("Arial",size))
def main():
app = QApplication(sys.argv)
ex = sliderdemo()
ex.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()