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实现输出程序执行进度百分比的方法
Sep 16 Python
[原创]教女朋友学Python(一)运行环境搭建
Nov 29 Python
Python面向对象编程之继承与多态详解
Jan 16 Python
Python中偏函数用法示例
Jun 07 Python
Python实现多级目录压缩与解压文件的方法
Sep 01 Python
Python 字符串换行的多种方式
Sep 06 Python
python3实现点餐系统
Jan 24 Python
python找出一个列表中相同元素的多个索引实例
Jun 11 Python
python文件处理fileinput使用方法详解
Jan 02 Python
Python读取文件夹下的所有文件实例代码
Apr 02 Python
浅谈pytorch中的dropout的概率p
May 27 Python
Python实现单例模式的5种方法
Jun 15 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自动选择 连接本地还是远程数据库
2010/12/02 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
传智播客学习之java 反射
2009/11/22 Javascript
Jquery中dialog属性小记
2010/09/03 Javascript
推荐10个超棒的jQuery工具提示插件
2011/10/11 Javascript
script的async属性以非阻塞的模式加载脚本
2013/01/15 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
2015/08/04 Javascript
JavaScript进阶练习及简单实例分析
2016/06/03 Javascript
JavaScript SHA-256加密算法详细代码
2016/10/06 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
2017/02/10 Javascript
vue-star评星组件开发实例
2018/03/01 Javascript
解决Vue.js父组件$on无法监听子组件$emit触发事件的问题
2018/09/12 Javascript
小程序组件之仿微信通讯录的实现代码
2018/09/12 Javascript
Vue.js 父子组件通信的十种方式
2018/10/30 Javascript
你应该了解的JavaScript Array.map()五种用途小结
2018/11/14 Javascript
Three.JS实现三维场景
2018/12/30 Javascript
js实现可爱的气泡特效
2020/09/05 Javascript
Vue页面渲染中key的应用实例教程
2021/01/12 Vue.js
[01:08]DOTA2“血战之命”预告片
2017/08/12 DOTA
[04:50]2019DOTA2高校联赛秋季赛四强集锦
2019/12/27 DOTA
python+selenium+autoit实现文件上传功能
2017/08/23 Python
pandas中Timestamp类用法详解
2017/12/11 Python
对python3中pathlib库的Path类的使用详解
2018/10/14 Python
Python多进程入门、分布式进程数据共享实例详解
2019/06/03 Python
python3图片文件批量重命名处理
2019/10/31 Python
python 爬取B站原视频的实例代码
2020/09/09 Python
HTML5实现文件断点续传的方法
2017/01/04 HTML / CSS
HTML5 canvas 瀑布流文字效果的示例代码
2018/01/31 HTML / CSS
HTML5 Blob对象的具体使用
2020/05/22 HTML / CSS
应用心理学个人的求职信
2013/12/08 职场文书
综合实践教学反思
2014/01/31 职场文书
圣诞节红领巾广播稿
2014/02/03 职场文书
工商治理实习生的自我评价分享
2014/02/20 职场文书
学前班学生评语
2014/12/29 职场文书
幼儿教师师德培训心得体会
2016/01/09 职场文书
《灰雀》教学反思
2016/02/19 职场文书