Python Qt GUI设计:QScrollBar类实现窗口水平或垂直滑动条效果(拓展篇—4)
2023-03-15 22:00:02 时间
使用QScrollBar可以在窗口控件提供了水平的或垂直的滚动条,这样可以扩大当前窗口的有效装载面积,从而装载更多的控件。
QScrollBar类中的常用信号如下表所示:
通过示例,了解QScrollBar类多文档界面的使用方法,效果如下所示:
在这个例子中,设置了三个滑动条来控制标签中所显示文字的字体颜色的RGB值,当移动滑块时,将sliderMoved信号与槽函数sliderval()连接起来。
实现代码如下所示:
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):
hbox = QHBoxLayout( )
self.l1 = QLabel("拖动滑动条去改变颜色")
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('QScrollBar 例子')
self.setLayout( hbox )
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)
if __name__ == '__main__':
app = QApplication(sys.argv)
demo = Example()
demo.show()
sys.exit(app.exec_())
相关文章
- 用R语言进行数据可视化的综合指南(二)
- 有了这个开源项目,小白也能搭建电商系统
- 设计模式系列之观察者模式
- 2015上半年度金融行业互联网安全报告
- YouTube 推荐算法被曝倾向于潜在有害视频
- 干了这么些年程序员,这7种软件架构模式必须得掌握了
- 当Vue2遇到Composition API,它们之前到底能擦出怎样的火花?
- 百年献礼开发一款党史学习服务卡片
- 如何选择满足需求的SQL on Hadoop/Spark系统
- 聊聊Swift 中 key paths 的能力
- 这个文件下载问题难住了我至少三位同事
- 分布式事务如何解决?一次讲清楚!
- 【速转身边开公司的朋友】连加油站都被比特币勒索病毒黑了!还没关闭服务器445端口的抓紧!
- 基于微服务的CICD实战
- 重要通知 | WanaCrypt0r 2.0及Onion等勒索软件安全建议
- Ribbon 2 核心设计和原理分析
- 用Excel教会你PID算法
- 如何优雅地实现浏览器兼容与CSS规则回退
- 2021年7月编程语言排行榜
- 谷歌的野心,详解26字母代表项目