当前位置: 首页 > 文档资料 > PyQt 中文教程 >

QScrollBar

优质
小牛编辑
133浏览
2023-12-01

滚动条控件使用户能够访问可视区域外的文档部分。 它为当前位置提供视觉指示。 它有一个滑块,通过该滑块以类似的方式设置预设范围之间的值。 此值通常与视图中的隐藏数据相关联。

滚动条控件有四个控件 -

一个滑块

两个滚动箭头

页面控制

滚动条

经常使用以下QScrollBar类信号 -

Sr.No.方法和描述
1

valueChanged()

当滚动条的值发生变化时

2

sliderMoved()

当用户拖动滑块时

例子 (Example)

在以下示例中,放置三个滚动条以控制标签中显示的文本的字体颜色的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()

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

QScrollBar Widget输出