PyQt5 QScrollBar小部件

PyQt5 QScrollBar小部件

QScrollbar控件使用户能够访问可视区域之外的文档部分。它提供了当前位置的视觉指示器。它有一个滑块,可以以类似的方式在一个预设范围内设置一个值。这个值通常与将隐藏数据带入视口有关。

QScrollbar控件有四个控件 –

  • a: slider

  • b: Two Scroll arrows

  • c: Page control

  • Scroll Bar

以下是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()

上面的代码产生以下输出−

PyQt5 QScrollBar小部件

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程