- PyQt 教程
- PyQt - 首页
- PyQt - 简介
- PyQt - 环境配置
- PyQt - Hello World
- PyQt - 主要类
- PyQt - 使用 Qt Designer
- PyQt - 元对象
- PyQt 信号与槽
- PyQt - 信号和槽
- PyQt - 支持和信号
- PyQt - 未绑定和已绑定信号
- PyQt - 使用 PyQtSignal 创建新信号
- PyQt - 连接、断开和发射信号
- PyQt - 槽装饰器
- PyQt - 槽连接
- PyQt 布局
- PyQt - 布局管理
- PyQt - QBoxLayout
- PyQt - QGridLayout
- PyQt - QFormLayout
- PyQt - QHBoxLayout
- PyQt - QVBoxLayout
- PyQt - QStackedLayout
- PyQt - QGraphicsGridLayout
- PyQt - QGraphicsAnchorLayout
- PyQt - QGraphicsLayout
- PyQt - QGraphicsLinearLayout
- PyQt 基本控件
- PyQt - 基本控件
- PyQt - QLabel 控件
- PyQt - QLineEdit 控件
- PyQt - QPushButton 控件
- PyQt - QRadioButton 控件
- PyQt - QCheckBox 控件
- PyQt - QComboBox 控件
- PyQt - QSpinBox 控件
- PyQt - QMessageBox
- PyQt - QDialogButtonBox 控件
- PyQt - QFontComboBox 控件
- PyQt - QDoubleSpinBox 控件
- PyQt - QToolBox 控件
- PyQt - QDialog 类
- PyQt - QMessageBox
- PyQt - 多文档界面
- PyQt - 拖放操作
- PyQt 绘图 API
- PyQt - 绘图 API
- PyQt 数据库
- PyQt - 数据库处理
- PyQt 核心知识
- PyQt - BrushStyle 常量
- PyQt - QClipboard
- PyQt - QPixmap 类
- PyQt 有用资源
- PyQt - 快速指南
- PyQt - 有用资源
- PyQt - 讨论
PyQt - QScrollBar 控件
滚动条控件允许用户访问文档中超出可视区域的部分。它提供当前位置的视觉指示。它有一个滑块,通过该滑块可以以类似的方式设置预设范围内的值。此值通常与将隐藏数据带入视口相关联。
滚动条控件有四个控制项:
滑块 两个滚动箭头 页面控制 |
以下 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()
以上代码产生以下输出:
广告