PyQt5 – QScrollBar小工具
QScrollbar控件使用户能够访问可查看区域之外的文档部分。它提供了当前位置的视觉指示。它有一个滑块,通过它可以在预设的范围内以类似的方式设置一个值。这个值通常是相关的,以使隐藏的数据进入视口。
QScrollbar控件有四个控件 —
- a: slider
-
b: Two Scroll arrows
-
c: Page control
-
Scroll Bar
QScrollBar类的以下信号经常被使用—-。
Sr.No. | 方法和描述 |
---|---|
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()
上述代码产生了以下输出 —