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 相关文章推荐
python新手经常遇到的17个错误分析
Jul 30 Python
Pthon批量处理将pdb文件生成dssp文件
Jun 21 Python
python3解析库lxml的安装与基本使用
Jun 27 Python
在Python 中实现图片加框和加字的方法
Jan 26 Python
Python matplotlib修改默认字体的操作
Mar 05 Python
Python网络爬虫信息提取mooc代码实例
Mar 06 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
Apr 13 Python
python爬虫实现POST request payload形式的请求
Apr 30 Python
Jupyter notebook如何实现指定浏览器打开
May 13 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
Jul 14 Python
Python 创建TCP服务器的方法
Jul 28 Python
Python+Pillow+Pytesseract实现验证码识别
May 11 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脚本的10个技巧(2)
2006/10/09 PHP
Zend Framework过滤器Zend_Filter用法详解
2016/12/09 PHP
php中时间函数date及常用的时间计算
2017/05/12 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
浅谈PHP中的那些魔术常量
2020/12/02 PHP
(仅IE下有效)关于checkbox 三态
2007/05/12 Javascript
js继承 Base类的源码解析
2008/12/30 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器(优化篇)
2013/06/28 Javascript
jQuery动态添加、删除元素的方法
2014/01/09 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
2015/06/15 Javascript
Angularjs在初始化未完毕时出现闪烁问题的解决方法分析
2016/08/05 Javascript
使用Ajax与服务器(JSON)通信实例
2016/11/04 Javascript
js实现小窗口拖拽效果
2016/12/03 Javascript
详解Python中logging日志模块在多进程环境下的使用
2016/12/26 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
2017/03/27 Javascript
Javascript实现从小到大的数组转换成二叉搜索树
2017/06/13 Javascript
javascrpt密码强度校验函数详解
2020/03/18 Javascript
[33:33]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第二场 11.27
2020/11/30 DOTA
Python常见内置高效率函数用法示例
2018/07/31 Python
使用matplotlib中scatter方法画散点图
2019/03/19 Python
Django中提供的6种缓存方式详解
2019/08/05 Python
django中的图片验证码功能
2019/09/18 Python
CSS3结构性伪类选择器九种写法
2012/04/18 HTML / CSS
CSS3 :default伪类选择器使用简介
2018/03/15 HTML / CSS
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
大学生毕业自荐信
2013/10/10 职场文书
施工单位安全责任书
2014/07/24 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
鲁迅故里导游词
2015/02/05 职场文书
2015年化妆品销售工作总结
2015/05/11 职场文书
最美乡村教师观后感
2015/06/11 职场文书
休学证明范本
2015/06/19 职场文书
2015年党建工作汇报材料
2015/06/25 职场文书
2016七夕情人节感言
2015/12/09 职场文书
浅析Python中的套接字编程
2021/06/22 Python