QSlider 小工具和信号(QSlider Widget & Signal)
优质
小牛编辑
136浏览
2023-12-01
QSlider类对象为用户提供了一个可以移动手柄的凹槽。 它是一个控制有界值的经典小部件。 手柄在凹槽上的位置等于控制器的下边界和上边界之间的整数。
通过提及构造函数中的方向,可以以水平或垂直方式显示滑块控件。
self.sp = QSlider(Qt.Horizontal)
self.sp = QSlider(Qt.Vertical)
下表列出了QSlider类的一些常用方法 -
Sr.No. | 方法和描述 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | setMinimum() 设置滑块的下限 | ||||||||||||
2 | setMaximum() 设置滑块的上限 | ||||||||||||
3 | setSingleStep() 设置增量/减量步骤 | ||||||||||||
4 | setValue() 以编程方式设置控件的值 | ||||||||||||
5 | value() 返回当前值 | ||||||||||||
6 | setTickInterval() 将凹槽的数量放在凹槽上 | ||||||||||||
7 | setTickPosition() 将蜱虫放在凹槽上。 价值观是 -
|
QSlider信号
Sr.No. | 方法和描述 |
---|---|
1 | valueChanged() 当滑块的值发生变化时 |
2 | sliderPressed() 当用户开始拖动滑块时 |
3 | sliderMoved() 当用户拖动滑块时 |
4 | sliderReleased() 当用户释放滑块时 |
valueChanged()信号是最常用的信号。
例子 (Example)
以下示例演示了上述功能。 标签和水平滑块以垂直布局放置。 Slider的valueChanged()信号连接到valuechange()方法。
self.sl.valueChanged.connect(self.valuechange)
槽函数valuechange()读取滑块的当前值,并将其用作标签标题的字体大小。
size = self.sl.value()
self.l1.setFont(QFont("Arial",size))
完整的代码如下 -
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class sliderdemo(QWidget):
def __init__(self, parent = None):
super(sliderdemo, self).__init__(parent)
layout = QVBoxLayout()
self.l1 = QLabel("Hello")
self.l1.setAlignment(Qt.AlignCenter)
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()
上面的代码产生以下输出 -
随着滑块的手柄在手柄上移动,标签的字体大小会发生变化。