PyQt5 - QScrollBar 小部件

  • 简述

    QScrollbar 控件使用户能够访问可查看区域之外的文档部分。它为当前位置提供视觉指示。它有一个滑块,通过该滑块以类似方式设置预设范围之间的值。该值通常与将隐藏数据关联到视口内。
    QScrollbar 控件有四个控件 -
    一:滑块
    b:两个滚动箭头
    c:页面控制
    滚动条
    经常使用 QScrollBar 类的以下信号 -
    序号 方法和描述
    1
    valueChanged()
    当滚动条的值改变时
    2
    sliderMoved()
    当用户拖动滑块时
  • 例子

    在以下示例中,放置了三个滚动条来控制标签中显示的文本的字体颜色的 RGB 值。完整的代码如下 -
    
    import sys
    from PyQt5.QtCore import *
    from PyQt5.QtGui import *
    from PyQt5.QtWidgets 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()
    
    上面的代码产生以下输出 -
    QScrollBar 小部件输出