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实现list反转实例汇总
Nov 11 Python
python删除列表中重复记录的方法
Apr 28 Python
Python通过poll实现异步IO的方法
Jun 04 Python
Android分包MultiDex策略详解
Oct 30 Python
NetworkX之Prim算法(实例讲解)
Dec 22 Python
python通过Windows下远程控制Linux系统
Jun 20 Python
python-itchat 获取微信群用户信息的实例
Feb 21 Python
Python中的 sort 和 sorted的用法与区别
Aug 10 Python
Python实现串口通信(pyserial)过程解析
Sep 25 Python
opencv-python 读取图像并转换颜色空间实例
Dec 09 Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
Jan 03 Python
Django3中的自定义用户模型实例详解
Aug 23 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字符串的编码问题的详细介绍
2013/04/27 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
2016/01/04 PHP
PHP导出Excel实例讲解
2016/01/24 PHP
实例介绍PHP中zip_open()函数用法
2019/02/15 PHP
prototype 源码中文说明之 prototype.js
2006/09/22 Javascript
asp.net下利用js实现返回上一页的实现方法小集
2009/11/24 Javascript
用jquery.sortElements实现table排序
2014/05/04 Javascript
JS+CSS实现的拖动分页效果实例
2015/05/11 Javascript
JavaScript几种数组去掉重复值的方法推荐
2016/04/12 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
基于jQuery实现淡入淡出效果轮播图
2020/07/31 Javascript
JavaScript实现格式化字符串函数String.format
2016/12/16 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
2017/04/21 jQuery
JavaScript伪数组用法实例分析
2017/12/22 Javascript
vue-cli项目优化方法- 缩短首屏加载时间
2018/04/01 Javascript
python分布式环境下的限流器的示例
2017/10/26 Python
对matplotlib改变colorbar位置和方向的方法详解
2018/12/13 Python
django fernet fields字段加密实践详解
2019/08/12 Python
Python 一行代码能实现丧心病狂的功能
2020/01/18 Python
关于python中的xpath解析定位
2020/03/06 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
2020/05/28 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
2020/08/24 Python
详解Anaconda 的安装教程
2020/09/23 Python
Django xadmin安装及使用详解
2020/10/26 Python
英国最全面的橄榄球联盟门票网站:Live Rugby Tickets
2018/10/06 全球购物
荷兰时尚精品店:Labels Fashion
2020/03/22 全球购物
写好自荐信的技巧
2013/11/08 职场文书
客服工作职责
2013/12/11 职场文书
《列夫托尔斯泰》教学反思
2014/02/10 职场文书
服装设计专业毕业生求职信
2014/04/09 职场文书
第二课堂活动总结
2014/05/07 职场文书
公司担保书范文
2014/05/21 职场文书
爱护公共设施倡议书
2014/08/29 职场文书
贫困证明书范文
2015/06/16 职场文书
孙振耀退休感言
2015/08/01 职场文书
Android使用EventBus发送消息,Fragment中接收消息的方法会执行多次
2022/04/24 Java/Android