PyQt - QScrollBar 小部件
滚动条控件使用户能够访问可查看区域之外的文档部分。 它为当前位置提供视觉指示。 它有一个滑块,通过该滑块以类似方式设置预设范围之间的值。 该值通常与将隐藏数据关联到视口内。
滚动条控件有四个控件 −
A slider Two Scroll arrows Page control |
QScrollBar 类的以下信号经常使用 −
序号 | 方法 & 描述 |
---|---|
1 |
valueChanged() 当滚动条的值改变时 |
2 |
sliderMoved() 当用户拖动滑块时 |
示例
在以下示例中,放置了三个滚动条来控制标签中显示的文本的字体颜色的 RGB 值。 完整代码如下 −
import sys from PyQt4.QtGui import * from PyQt4.QtCore import * class Example(QWidget): def __init__(self): super(Example, self).__init__() self.initUI() def initUI(self): vbox = QVBoxLayout(self) vbox.addLayout(box) self.setLayout(vbox) hbox = QHBoxLayout() self.l1 = QLabel("Drag scrollbar sliders to change color") self.l1.setFont(QFont("Arial",16)) hbox.addWidget(self.l1) self.s1 = QScrollBar() self.s1.setMaximum(255) self.s1.sliderMoved.connect(self.sliderval) self.s2 = QScrollBar() self.s2.setMaximum(255) self.s2.sliderMoved.connect(self.sliderval) self.s3 = QScrollBar() self.s3.setMaximum(255) self.s3.sliderMoved.connect(self.sliderval) hbox.addWidget(self.s1) hbox.addWidget(self.s2) hbox.addWidget(self.s3) self.setGeometry(300, 300, 300, 200) self.setWindowTitle('QSplitter demo') self.show() def sliderval(self): print self.s1.value(),self.s2.value(), self.s3.value() palette = QPalette() c = QColor(self.s1.value(),self.s2.value(), self.s3.value(),255) palette.setColor(QPalette.Foreground,c) self.l1.setPalette(palette) def main(): app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) if __name__ == '__main__': main()
上面的代码产生以下输出 −