首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

PyQt(Python+Qt)学习随笔:QScrollBar以及QAbstractSlider滚动条部件功能详解

  • 23-09-22 16:42
  • 2770
  • 5312
blog.csdn.net
  • 专栏:Python基础教程目录
  • 专栏:使用PyQt开发图形界面Python应用
  • 专栏:PyQt入门学习
  • 老猿Python博文目录
  • 老猿学5G博文目录

一、概述

在Designer输入部件中Horizontal Scroll Bar和Vertical Scroll Bar都是滚动条部件,实际上这2个部件对应同一个类QScrollBar。在需要从QAbstractItemView派生子类提供滚动条时,QScrollBar非常适合,但如果需要在另一个部件上提供滚动视图,不建议直接使用QScrollBar,而是使用QScrollArea类更方便,因为它同时提供了一个视口部件和滚动条部件。对于大多数使用滑块控件获取给定范围内的值的其他情况,使用QSlider类更适合。

QScrollBar是从QAbstractSlider类派生的,本身除了构造方法外,并没有特殊属性和方法。因此本部分介绍的属性、非构造方法、信号、槽方法实际上都是QAbstractSlider的。

二、滚动条的部件组成

滚动条通常包括四个独立的控件:1个滑块、2个滚动箭头和1个页面控件。

  • 滑块提供了快速转到文档任何部分的方法,但不支持在大型文档中进行精确导航
  • 滚动箭头,滚动箭头是按钮,可用于精确导航到文档中的特定位置。对于连接到文本编辑器的垂直滚动条,这些滚动条通常将当前位置向上或向下移动一行,并将滑块的位置调整少量。在编辑器和列表框中,“行”可能意味着一行文本;在图像查看器中,它可能意味着20像素。
  • 页面控件是拖动滑块的区域(滚动条的背景)。单击此处可将滚动条向单击方向移动一页。此值通常与滑块的长度相同。

三、滚动条的重要属性

  • value属性:每个滚动条都有一个值,该值指示滑块距滚动条起点的距离,该值通过value()获得,并通过setValue()设置,value的值在minimum和maximum之间,可以使用setMinimum()和setMaximum()调整最小值和最大值
  • singleStep属性:表示单步移动的距离,单步移动是指通过单次点击滚动箭头或按压移动光标键后滑块移动的距离
  • pageStep属性:表示移动一页的距离,当按压上下翻页键或在滚动条上下点击鼠标移动的距离
  • tracking属性: 当设置为True时,在拖拽滑块时就会发出valueChanged()信号,否则只有当终止拖拽释放鼠标时才发射该信号
  • sliderPosition属性:滑块当前位置,如果tracking属性为True,则其值与value属性值相等
  • orientation属性:表示是水平滚动条还是竖直滚动条
  • invertedAppearance属性:此属性控制滑块是否反转显示其值。如果为False(默认值),则最小值和最大值将显示在部件的经典位置(如最小值在顶部或左边)。如果该值为真,则最小值和最大值将显示在它们的相反位置
  • invertedControls属性:此属性保留滑块是否反转响应滚动事件和键盘事件。如果此属性为False,则滚动鼠标滚轮“向上”并使用诸如“PgUp”之类的键将滑块的值朝最大值增加。否则,按“PgUp”会将值向滑块的最小值靠近
  • sliderDown属性:此属性用于确认滚动条滑块是否被按住

四、重要的方法、信号和槽方法

  • actionTriggered(int action):这个信号是滑块动作触发,用于告知是进行了单步增或减移动、按页增或减移动、移动到最大值、移动到最小值、或移动过程中,发出信号时,滑块位置已根据操作进行了调整,但该值尚未传播(valueChanged()信号尚未发出),并且视觉显示尚未更新。因此,在连接到该信号的插槽中,可以根据动作和滑块的值,通过自己调用setSliderPosition()来安全地调整任何动作
  • triggerAction(SliderAction action)方法:这个一个方法,触发一个滑块移动事件,类似于模拟一个滑块移动操作,会发射actionTriggered()信号
  • setValue(int):槽方法,调整滚动条的值
  • sliderMoved(int value):此信号在滚动条滑块被按住且滚动条进行移动时发出,一般是拖拽滚动条时发出
  • sliderPressed():此信号在滚动条被鼠标按住,或者程序执行代码setSliderDown(True)时发出
  • sliderReleased():此信号在滚动条松开鼠标按住,或者程序执行代码setSliderDown(False)时发出
  • valueChanged(int value):此信号在滚动条值变更时发出

跟老猿学Python、学5G!

  • 专栏:Python基础教程目录
  • 专栏:使用PyQt开发图形界面Python应用
  • 专栏:PyQt入门学习
  • 老猿Python博文目录
  • 老猿学5G博文目录
文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树首页概览333581 人正在系统学习中
老猿Python
微信公众号
专注Python相关语言、图像音视频处理、AI
注:本文转载自blog.csdn.net的LaoYuanPython的文章"https://blog.csdn.net/LaoYuanPython/article/details/105758063"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top