PyQt(Python+Qt)学习随笔:QScrollBar以及QAbstractSlider滚动条部件功能详解
一、概述
在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!
PyQt(Python+Qt)学习随笔:QScrollBar以及QAbstractSlider滚动条部件功能详解的更多相关文章
- PyQt(Python+Qt)学习随笔:利用QWidget部件的palette以及ColorGroup、colorRole局部调整部件的特定范围颜色
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 在<PyQt(Python+Qt)学习随笔:QWidget部件的 ...
- PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性不能覆盖写的问题
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dra ...
- PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性
老猿Python博文目录 老猿Python博客地址 一.属性的作用 dragDropOverwriteMode属性用于控制视图的拖放行为,如果其值为True,则视图中选定的数据将在拖拽数据放下时被覆盖 ...
- PyQt(Python+Qt)学习随笔:视图中的dragDropMode属性对dragEnabled和acceptDrops属性的影响
老猿Python博文目录 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled和dragDropMode属性的关系&g ...
- PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled和dragDropMode属性的关系
老猿Python博文目录 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled属性的困惑>中,老猿觉得dragE ...
- PyQt(Python+Qt)学习随笔:视图中的拖放操作注意事项
老猿Python博文目录 老猿Python博客地址 在通过PyQt构建的图形界面中进行拖放,要成功进行拖放需要注意: 视图相关属性需要支持拖放,具体相关属性请参考<PyQt(Python+Qt) ...
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的autoFillBackground属性
autoFillBackground属性可以确认部件背景是否自动填充,如果自动填充,Qt会在调用Paint事件之前填充部件的背景.使用的颜色由部件调色板中的QPalette.window 角色定义(关 ...
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的accessibleDescription和accessibleName辅助阅读属性
accessibleDescription和accessibleName属性都是用于残疾人辅助阅读的,这两个属性都有国际化属性(关于国际化请参考<PyQt(Python+Qt)学习随笔:Qt D ...
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的toolTip、toolTipDuration、statusTip、whatsThis属性
toolTip属性 toolTip属性设置部件的toolTip提示信息,toolTip提示信息在鼠标放到控件上会浮动出一个小框显示提示信息.默认情况下,仅显示活动窗口子部件的toolTip,可以通过在 ...
随机推荐
- 揭秘仿比心app源码的开发背后,功能是如何实现的
约单陪玩系统作为最近兴起的开发热点,引起了竞相开发,其中比心源码可以说是行业内运营级别的APP中功能比较齐全的,那么仿比心app源码的功能是如何实现的呢,接下来就带大家简单分析一下. 仿比心app源码 ...
- 极客mysql03
1.务的特性:原子性.一致性.隔离性.持久性 2.多事务同时执行的时候,可能会出现的问题:脏读.不可重复读.幻读 3.事务隔离级别:读未提交.读提交.可重复读.串行化 4.不同事务隔离级别的区别: 读 ...
- PID算法的C语言实现
1.根据我控制算法类文章中关于PID的理论的一些描述,同时也根据网络上一些其他的PID文章,以及自己最近一个项目的实践后,总结了几套基于C语言的PID算法,由于网络中很少有人进行分享完整的PID算法实 ...
- 4.Spring Boot web开发
1.创建一个web模块 (1).创建SpringBoot应用,选中我们需要的模块: (2).SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来 (3).自己编 ...
- php openssl 加密解密
$config = array( "digest_alg" => "sha512", "private_key_bits" => ...
- day02-多任务(进程和协程)
一.多任务的概念 简单地说,就是操作系统可以同时运行多个任务.打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务,至少同时有3个任务正在运行.还有很多任务 ...
- kali 系列学习08-安卓逆向
可以轻松把安卓apk的源码逆向出来,逆向有什么用,比如手机apk木马,可以用于追踪黑客,详见 https://cloud.tencent.com/developer/news/179336 用2个工 ...
- 工作三年终于社招进字节跳动!字节跳动,阿里,腾讯Java岗面试经验汇总
前言 我大概我是从去年12月份开始看书学习,到今年的6月份,一直学到看大家的面经基本上百分之90以上都会,我就在5月份开始投简历,边面试边补充基础知识等.也是有些辛苦.终于是在前不久拿到了字节跳动的o ...
- [从源码学设计]蚂蚁金服SOFARegistry之网络封装和操作
[从源码学设计]蚂蚁金服SOFARegistry之网络封装和操作 目录 [从源码学设计]蚂蚁金服SOFARegistry之网络封装和操作 0x00 摘要 0x01 业务领域 1.1 SOFARegis ...
- 使用Folx智能速控功能,确保带宽资源的合理分配
市面上的大部分下载软件,都会配备速度控制的功能,用于限制下载任务的带宽占用.但除此之外,Folx专业版还提供了更加智能化的速度控制功能,用户可以为速控指定更加详细的条件,比如程序限制条件.时间限制条件 ...

