Python Qt GUI设计:QScrollBar类实现窗口水平或垂直滑动条效果(拓展篇—4)

简介: 使用QScrollBar可以在窗口控件提供了水平的或垂直的滚动条,这样可以扩大当前窗口的有效装载面积,从而装载更多的控件。

使用QScrollBar可以在窗口控件提供了水平的或垂直的滚动条,这样可以扩大当前窗口的有效装载面积,从而装载更多的控件。


QScrollBar类中的常用信号如下表所示:


f264e97f3eba49d3a6d0fa9af50ab119.png


通过示例,了解QScrollBar类多文档界面的使用方法,效果如下所示:


270dfd4e642d448a9176d26a0da1bdf4.png


在这个例子中,设置了三个滑动条来控制标签中所显示文字的字体颜色的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_())

————————————————

版权声明:本文为CSDN博主「不脱发的程序猿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/m0_38106923/article/details/120928834

相关文章
Qt类结构分析
Qt类结构分析
297 3
|
10月前
|
API C++ 开发者
PySide vs PyQt:Python GUI开发史诗级对决,谁才是王者?
PySide 和 PyQt 是 Python GUI 开发领域的两大利器,各有特色。PySide 采用 LGPL 协议,更灵活;PyQt 默认 GPL,商业使用需授权。两者背后团队实力雄厚,PySide 得到 Qt 官方支持,PyQt 由 Riverbank Computing 打造。API 设计上,PySide 简洁直观,贴近原生 Qt;PyQt 增加 Pythonic 接口,操作更高效。性能方面,两者表现优异,适合不同需求的项目开发。选择时可根据项目特点与开源要求决定。
1078 20
|
测试技术 开发者 Python
Python(GUI)之活动积分记录表
本文介绍了一套使用Python的Tkinter库构建的学生活动积分记录系统。该系统允许教师选择班级和学生,输入加分分数及原因,并将数据保存至文件,旨在简化学生积分管理流程,提升教学效率。
341 6
|
数据可视化 开发者 Python
Python GUI开发:Tkinter与PyQt的实战应用与对比分析
【10月更文挑战第26天】本文介绍了Python中两种常用的GUI工具包——Tkinter和PyQt。Tkinter内置于Python标准库,适合初学者快速上手,提供基本的GUI组件和方法。PyQt基于Qt库,功能强大且灵活,适用于创建复杂的GUI应用程序。通过实战示例和对比分析,帮助开发者选择合适的工具包以满足项目需求。
1117 7
|
设计模式 前端开发 安全
Qt注册类对象单例与单类型区别
在进行开发时,应当根据具体的应用场景和需求来选择使用单例模式或是单类型。如果是全局服务或状态管理,可能需要单例模式;如果是为了使QML环境下的不同组件能够访问到同一个后端服务对象,则可能需要使用单类型。
298 2
|
C++ Windows
Qt 窗口置顶
Qt 窗口置顶
480 1
|
前端开发 JavaScript 测试技术
Python中的GUI测试
【8月更文挑战第15天】本文探讨了Python中图形用户界面(GUI)测试的关键工具——Selenium与PyQt。Selenium专为Web应用测试设计,能模拟用户行为如点击和输入文本。PyQt则基于Qt框架,用于构建丰富的桌面应用程序及编写自动化测试脚本。
|
Linux Android开发 开发者
【Python】GUI:Kivy库环境安装与示例
这篇文章介绍了 Kivy 库的安装与使用示例。Kivy 是一个开源的 Python 库,支持多平台开发,适用于多点触控应用。文章详细说明了 Kivy 的主要特点、环境安装方法,并提供了两个示例:一个简单的 Hello World 应用和一个 BMI 计算器界面。
722 0
|
机器学习/深度学习 算法框架/工具 Python
基于深度学习的手写数字识别项目GUI(Deep Learning Project – Handwritten Digit Recognition using Python)
基于深度学习的手写数字识别项目GUI(Deep Learning Project – Handwritten Digit Recognition using Python)
714 0