python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例


Posted in Python onMarch 06, 2020

PyQt5滚动条控件QScrollBar简介

可以看到,前面介绍的几个窗口控件的共同点是新建一些窗口来装载更多的控件,而QScrollBar提供了另一种思路:这个控件提供水平的或垂直的滚动条,这样可以扩大当前窗口的有效装载面积,从而装载更多的控件

QScrollBar类中常用的信号

信号 含义
valueChanged 当滑动条的值改变发射此信号
sliderMoved 当用户拖动滑块时发射此信号

QScrollBar的使用实例

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui 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())
    palette.setColor(QPalette.Foreground,c)

    #设置标签的调色板,加载属性
    self.l1.setPalette(palette)
if __name__ == '__main__':
  app=QApplication(sys.argv)
  demo=Example()
  demo.show()
  sys.exit(app.exec_())

运行效果图如下

python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例

代码解析

在这个例子中,设置了三个滑动条来控制标签中显示的文字的字体颜色的RGB值

当滑块滑动时,将sliderMoved信号与槽函数连接起来

self.s3.sliderMoved.connect(self.sliderval)

本文主要讲解了PyQt5滚动条控件QScrollBar详细使用方法与实例,更多关于PyQt5控件使用知识请查看下面的相关链接

Python 相关文章推荐
flask中使用SQLAlchemy进行辅助开发的代码
Feb 10 Python
Python实现程序的单一实例用法分析
Jun 03 Python
Python爬取国外天气预报网站的方法
Jul 10 Python
详解JavaScript编程中的window与window.screen对象
Oct 26 Python
python用户管理系统
Mar 13 Python
Python中整数的缓存机制讲解
Feb 16 Python
python调用外部程序的实操步骤
Mar 04 Python
pytorch中的embedding词向量的使用方法
Aug 18 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
Feb 28 Python
Django视图、传参和forms验证操作
Jul 15 Python
详解python模块pychartdir安装及导入问题
Oct 22 Python
python 实现的车牌识别项目
Jan 25 Python
Python object类中的特殊方法代码讲解
Mar 06 #Python
python+Selenium自动化测试——输入,点击操作
Mar 06 #Python
使用 Python ssh 远程登陆服务器的最佳方案
Mar 06 #Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
Mar 06 #Python
python解析xml文件方式(解析、更新、写入)
Mar 05 #Python
如何使用pandas读取txt文件中指定的列(有无标题)
Mar 05 #Python
python批量替换文件名中的共同字符实例
Mar 05 #Python
You might like
聊天室php&mysql(六)
2006/10/09 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
PHP7新特性
2021/03/09 PHP
Bootstrap基本插件学习笔记之模态对话框(16)
2016/12/08 Javascript
利用D3.js实现最简单的柱状图示例代码
2016/12/09 Javascript
jQuery实现的浮动层div浏览器居中显示效果
2017/02/03 Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/06 Javascript
AngularJS 实现购物车全选反选功能
2017/10/24 Javascript
基于js 字符串indexof与search方法的区别(详解)
2017/12/04 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
纯JS实现五子棋游戏
2020/05/28 Javascript
bootstrap实现tab选项卡切换
2020/08/09 Javascript
vue 二维码长按保存和复制内容操作
2020/09/22 Javascript
[44:47]Ti4 循环赛第三日 iG vs NaVi
2014/07/12 DOTA
python之模拟鼠标键盘动作具体实现
2013/12/30 Python
常见的python正则用法实例讲解
2016/06/21 Python
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
python 通过麦克风录音 生成wav文件的方法
2019/01/09 Python
python实现发送form-data数据的方法详解
2019/09/27 Python
利用python实现.dcm格式图像转为.jpg格式
2020/01/13 Python
详解Django ORM引发的数据库N+1性能问题
2020/10/12 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
2020/11/10 Python
牵手50新加坡:专为黄金岁月的单身人士而设的交友网站
2020/08/16 全球购物
小学信息技术教学反思
2014/02/10 职场文书
读书月活动方案
2014/05/22 职场文书
2014年租房协议书范本
2014/10/30 职场文书
具结保证书
2015/01/17 职场文书
病人写给医生的感谢信
2015/01/23 职场文书
2015年社区文体活动总结
2015/03/25 职场文书
涨价通知
2015/04/23 职场文书
幼儿园园务工作总结2015
2015/05/18 职场文书
同学会感言
2015/07/30 职场文书
财务管理制度范本
2015/08/04 职场文书
2019年新郎保证书3篇
2019/10/17 职场文书
解决Golang time.Parse和time.Format的时区问题
2021/04/29 Golang