第15.44节、PyQt输入部件:QAbstractSlider派生类QScrollBar滚动条、QSlider滑动条、QDial刻度盘功能详解

QT QScrollBar 滚动条美化 滚动条区域是指滚动条中可单独通过qss修改样式的部分垂直滚动条包括:sub-line、add-line、add-page、sub-page、up-arrow、down-arrow、handle水平滚动条:sub-line、add-line、add-page、sub-page、left-arrow、right-arrow、handle。 阅读详情

一、引言

Designer中的输入部件Horizontal ScrollBar水平滚动条、Vertical ScrollBar垂直滚动条、Horizontal Slider水平滑动条、Vertical Slider垂直滑动条以及Dial刻度盘对应的类都是QAbstractSlider类的派生类。这些部件都可以表示在指定区间范围内的数值,并通过拖拽滑块或指针进行移动改变值。

二、QScrollBar滚动条部件

2.1、概述

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

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

2.2、滚动条的部件组成

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

  • 滑块提供了快速转到文档任何部分的方法,但不支持在大型文档中进行精确导航
  • 滚动箭头,滚动箭头是按钮,可用于精确导航到文档中的特定位置。对于连接到文本编辑器的垂直滚动条,这些滚动条通常将当前位置向上或向下移动一行,并将滑块的位置调整少量。在编辑器和列表框中,“行”可能意味着一行文本;在图像查看器中,它可能意味着20像素。
  • 页面控件是拖动滑块的区域(滚动条的背景)。单击此处可将滚动条向单击方向移动一页。此值通常与滑块的长度相同。
2.3、滚动条的重要属性
  • 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属性:此属性用于确认滚动条滑块是否被按住
2.4、重要的方法、信号和槽方法
  • actionTriggered(int action):这个信号是滑块动作触发,用于告知是进行了单步增或减移动、按页增或减移动、移动到最大值、移动到最小值、或移动过程中,发出信号时,滑块位置已根据操作进行了调整,但该值尚未传播(valueChanged()信号尚未发出),并且视觉显示尚未更新。因此,在连接到该信号的插槽中,可以根据动作和滑块的值,通过自己调用setSliderPosition()来安全地调整任何动作
  • triggerAction(SliderAction action)方法:这个一个方法,触发一个滑块移动事件,类似于模拟一个滑块移动操作,会发射actionTriggered()信号
  • setValue(int):槽方法,调整滚动条的值
  • sliderMoved(int value):此信号在滚动条滑块被按住且滚动条进行移动时发出,一般是拖拽滚动条时发出
  • sliderPressed():此信号在滚动条被鼠标按住,或者程序执行代码setSliderDown(True)时发出
  • sliderReleased():此信号在滚动条松开鼠标按住,或者程序执行代码setSliderDown(False)时发出
  • valueChanged(int value):此信号在滚动条值变更时发出

三、QSlider滑动条部件

Horizontal Slider和Vertical Slider是用于通过移动滑块控制输入数字的滑动条部件,二者对应同一个类QSlider。滑动条部件提供垂直或水平滑动条。滑动条移动时,滑块所在的位置会转换为对应的数值。

QSlider滑动条部件功能简介
  • 可以设置滑条是否显示刻度以及刻度的位置,该功能通过属性tickPosition来控制
  • 可以设置刻度线之间的距离,该距离通过tickInterval属性控制

除了以上两个功能外,QSlider滑动条部件的其他方法、信号全部是父类的,如:

  • 可以调用父类QAbstractSlider的方法setValue()将滑块直接设置为某个值
  • 可以调用父类QAbstractSlider的方法triggerAction()模拟单击的效果
  • 可以调用父类QAbstractSlider的方法setSingleStep(),setPageStep()设置移动的步长

四、QDial刻度盘部件

4.1、概述

Designer中的Dial刻度盘输入部件提供一个圆形的刻度表,类似速度表,对应类为QDial类。QDial继承自QAbstractSlider(关于QAbstractSlider的功能请参考《PyQt(Python+Qt)学习随笔:QScrollBar以及QAbstractSlider滚动条部件功能详解》),因此刻度盘与滑动条类似。当wrapping属性值为False(默认设置)时,刻度盘和滑动条之间除了外观外没有真正的区别。它们共享相同的信号、插槽和成员函数。关于滑动条的功能请参考《PyQt(Python+Qt)学习随笔:QSlider滑动条部件功能简介》。

刻度盘的键盘操作相当简单:左键/上键和右键/下键按定义的单步移动指针和改变值,PgUp和PgDn按定义的页面步向上和向下移动指针和调整值,Home键和End键将移动指针到最小值和最大值。

如果使用鼠标滚轮调整刻度盘,则增量值由 wheelScrollLines乘以singleStep和pageStep的较小值确定。

4.2、QDial拨号盘部件的属性、方法和信号

QDial刻度盘部件的独有属性如下:

  • wrapping属性 :wrapping用于控制刻度盘上的刻度是否前后连接,如果为False,则最小值和最大值中间会有一段空白区域进行分隔,使用光标键调节值时指针只能在最小值和最大值之间移动,到达最大值或最小值时无法再朝对应方向移动。用鼠标拖拽指针可以越过最大值或最小值进行循环移动,但指针不能在空白区域段停留。如果wrapping为True,则指针移动到最大值或最小值时可以继续向对应方向移动,数值则跳转到最小值或最大值
  • notchesVisible属性:notchesVisible用于控制刻度盘上刻度线是否可见,可见时刻度线在表盘上平均分布
  • notchTarget属性:notchTarget用于控制刻度盘上刻度线之间的像素数量,表盘上刻度线的数量与4个属性相关,分别是最小值minimum、最大值maximum、singleStep单步数值以及notchTarget属性值,如果考虑notchTarget的值后表盘上的空间足够,刻度线的数量等于(maximum-minimum+1)/singleStep后四舍五入取整的值(假设为count),如果notchTarget设置过大导致count*notchTarget的值超过整个表盘的周长像素数,则只会绘制部分刻度线

除了构造方法以及上述属性的访问方法外,QDial的其他属性、方法和信号都是从父类派生的,比较重要的包括:

  • 当刻度盘的指针移动时,刻度盘最初会连续发出valueChanged()信号和sliderMoved()信号,可以通过禁用跟踪属性使其发出valueChanged()信号的频率降低,但sliderMoved()信号不受影响
  • 当拖拽指针移动时,按下和释放鼠标按钮时,刻度盘还会发出sliderPressed()和sliderReleased()信号
  • 与滑动条一样,刻度表可以使用QAbstractSlider的setValue()槽方法。

在《第15.35节 PyQt编程实战:结合QDial实现的QStackedWidget堆叠窗口程序例子》介绍了一个QDial的案例,大家可以回过头去看下。

跟老猿学Python、学5G!

QT 自定义滑动条(上方有实时方框显示数值,且带有刻度值) 一、效果图 二、原理 (1)LectureCorrectBoxSliderForm:方形框显示、刻度点以及刻度值。 (2)LectureCorrectSliderForm:继承QSlider 注:不能放在一个类中,否则方形框无法显示到最左边刻度点的正上方。 三、示例代码 LectureCorrectBoxSliderForm.h #ifndef LECTURECORRECTBOXSLIDERFORM_H #define LECTURECORRECTBOXSLIDERFORM_H #include &lt 阅读详情

相关推荐

标尺刻度 滑动标尺 Qt实现

在此示例中,我们使用了QSlider的vertical方向,范围从0到100,每隔10个刻度点显示一个标准刻度线,每隔5个刻度点显示一个短线,以及每个刻度点上面显示其对应数值。我们还设置了滑块的样式为一个红色圆形,以突出显示当前选定的数值。首先,我们需要创建一个Qt窗口应用程序,并在主窗口中添加一个QSlider对象。然后,我们需要通过更改QSlider的样式表来将其转换为标尺刻度滑块。在Qt中实现一个标尺刻度滑动条,可以方便地进行数值选择和显示。以上就是标尺刻度滑动条的实现步骤和源代码。

cl6789的博客 1988

从新手小白入门Qt编程(Windows 10)

Qt是由Qt Company开发的主流跨平台C++图形用户界面应用程序开发框架。Qt是面向对象的框架、容易扩展,并且允许真正地组件编程,既可以开发GUI程序,也可用于控制台工具和服务器。其跨平台集成开发环境Qt Creator 全面支持Windows ,mac、Linux、iOS、Android、WP等。本课程主要帮助学员熟练掌握Qt 5.9框架下的C++开发,通过核心类的详细讲解与源码分析,以及所有UI控件的讲解演示,迅速帮助学员达到企业级Qt开发工程师的能力!

GEO芯片数据下载和探针ID转换(保姆级教程)

R语言安装、GEO芯片数据下载、探针ID转换

qq_43138237的博客 3万+

Qt扫盲-QScrollBar理论总结

QScrollBar其实就是一个滚动条控件,它使用户能够访问大于用于显示文档的小组件的文档部分。它提供了用户在文档中的当前位置以及可见的文档量的可视指示。滚动条通常配备其他控件,以实现更准确的导航。Qt以适合每个平台的方式显示滚动条。滚动条的本质就是因为需要显示的内容已经超出窗口的大小,就需要用这个滚动条来控制和指示当前的位置。

洪源兄 6430

【ERROR】ERROR1: PROJ: proj_create_from_database: Cannot find proj.db - 环境变量配置与路径修复指南

本文详细解析了地理空间数据处理中常见的【ERROR】ERROR1: PROJ: proj_create_from_database: Cannot find proj.db 错误。该错误的根源是PROJ库无法定位其核心数据文件proj.db。文章提供了从问题诊断到修复的完整指南,包括如何在不同系统(Windows/macOS/Linux)和安装方式(Conda/pip/源码编译)下找到正确的proj.db文件路径,并通过设置PROJ_LIB环境变量(临时、代码内或永久)彻底解决问题,同时给出了进阶排查技巧和

m2n3o4p5的博客 557

数据安全实战技能解析:从加密攻防到数字水印的竞赛指南

数据安全是信息安全领域的核心,其基础在于密码学与信息隐藏技术。密码学通过加密算法(如AES、RSA)和哈希函数,保障数据的机密性与完整性,其原理涉及对称/非对称加密、工作模式及密钥管理。数字水印技术则基于信号处理(如DCT/DWT变换),将信息嵌入多媒体载体,用于版权保护与溯源。这些技术的价值在于为数据全生命周期提供“防泄漏”与“可追溯”的解决方案,广泛应用于企业数据治理、合规审计和**数据防泄漏(DLP)** 系统。本文以一场贴近实战的**数据安全职业技能竞赛**为切入点,深入剖析如何运用密码分析、磁盘取

weixin_34314962的博客 402

python刻度条控件是_第15.44节、PyQt输入部件:QAbstractSlider派生类QScrollBar滚动条、QSlider滑动条、QDial刻度盘功能详解...

一、引言Designer中的输入部件Horizontal ScrollBar水平滚动条、Vertical ScrollBar垂直滚动条、Horizontal Slider水平滑动条、Vertical Slider垂直滑动条以及Dial刻度盘对应的类都是QAbstractSlider类的派生类。这些部件都可以表示在指定区间范围内的数值,并通过拖拽滑块或指针进行移动改变值。二、QScrollBar滚动...

weixin_39932838的博客 706

上交开源装甲板识别代码分析

GitHub - xinyang-go/SJTU-RM-CV-2019: 上海交通大学 RoboMaster 2019赛季 视觉代码这里着重分析主函数main.cpp与装甲板识别部分的工程文件armer文件夹。由于未完全分析,所以对于其中log.h、options.h中的函数并不清楚,在分析时会跳过这些内容。该文章重点分析的是思路,部分函数中的数学逻辑、数据处理思路这里不详细解释(没能力)所有思维导图通过 知犀知犀思维导图 - 知犀官网 (zhixi.com)原创。

qq_42104961的博客 1320

基本Widgets(11):【类】QScrollBar [官翻]

文章目录详细说明公共函数构造和析构重写的公共函数受保护的函数重写的受保护的函数小实例 QScrollBar Class QScrollBar小部件提供垂直或水平滚动条。 Header #include < QScrollBar > qmake QT += widgets Inherits QAbstractSlider Inherited By 详细说明 滚动条是一个控件,允许用户访问文档中比用于显示文档的小部件大的部分。它提供用户在文档中的当前位置以及可见

读书笔记 5381

利用pytorch长短期记忆网络LSTM实现股票预测分析

长短时记忆网络(Long Short Term Memory Network, LSTM),是一种改进之后的循环神经网络,可以解决RNN无法处理长距离的依赖的问题,目前比较流行。LSTM主要就是加入了三个门控:第一个开关遗忘门:负责控制继续保存长期状态c;第二个开关输入门:负责控制把即时状态输入到长期状态c;第三个开关输出门:负责控制是否把长期状态c作为当前的LSTM的输出。

优快云 精品推荐 1万+

Ollama DNS 重新绑定攻击 (CVE-2024-28224)

一旦 DNS 重新绑定攻击成功,攻击者就可以对这些 API 进行排序,以读取 Ollama 运行的进程可访问的任意文件数据,并将这些数据泄露到攻击者控制的系统中。完成对“创建模型” API 请求的调用后,Ollama 将收集组成新创建的用户模型的许多工件,包括大型语言模型数据、许可证数据等,以及我们要提取的文件,所有这些都可以通过其 SHA256 内容进行寻址。这是我们要窃取的文件,在我们的示例中,是可通过运行 Ollama 的主机上的路径名访问的现有文本文件。值得注意的是,该模型配置为通过参数中的。

技术超强的网络安全平台 1648

QT输入窗口之QScrollBar(滚动条)

QT滚动条

odsdadada的博客 8337

YOLO11改进大全:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总

YOLOv11改进大全:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总

魔改工程师的博客 4523

QScrollBar滚动条、QSlider滑块、 QDial表盘

触发滑块时发送, action 表示触发滑块时的动作, 见 triggerAction()函数。当 sliderDown 属性为 true,且滑块移动时,发送此信号,即使关闭跟踪(tracking 属性),1、 QScrollBar 类就只有两个构造函数, 其默认为取值为垂直,最小值为 0,最大值为 100,1、 跟踪:若启用跟踪,则在拖动滑块或滚动条时会发送 valueChanged()信号,若禁用了跟踪,1)、 像素大小就是指滑块本身的大小(即使用 resize()函数设置的大小),这个大小是以像素。

zxf347085420的博客 2820

FGC_grasp复现

FGC_GraspNet复现

qq_39568387的博客 385

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

45- 输入和显示-滚动条控件QScrollBar

为滚动条指定的值的范围通常与为QSlider指定的值不同,因为需要考虑滑块的长度。如果我们有一个有100行的文档,并且我们在一个小部件中只能显示20行,那么我们可能希望构建一个页面步长为20、最小值为0、最大值为80的滚动条。滑块的长度通常与页面步长的值有关,通常表示滚动视图中显示的文档区域的比例。actionTriggered(action:int)信号在用户用鼠标或键盘键改变滑块位置时发送,根据改变方式的不同,信号的参数值也不同action 的值可以取以下值,对应的值分别是0~7,例如。

***** 2586

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

56.QScrollBar

继承QAbstractSlider 目录 1构造函数 2调整滑块的大小 3界面中有两个滚动条按调整步长按键没有相应问题 1构造函数 可以直接给一个父对象创建 也可以额外给一个滚动条的方向 它默认是竖直方向的,我们现在搞一个水平方向的 我们可以通过resize和move,让他显得更正常一点 默认情况下滚动条最大值是99,最小值是0 2调整滑块的大小 滑块的大小是和页步长有关的,我们调整页步长就可以改变滑块大小 现在是它默认的样子 ...

potato123232的博客 892

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

QScrollBar详解

QScrollBar详解

xie__jin__cheng的博客 1858

QSS实践汇总(1)——QScrollBar样式、滚动条样式(风格)

1、特别说明 (1)本文参考了网上资料,特别是如下QScrollBar区域描述非常详细 QScrollBar样式 - qss样式表学习_wang13342322203的博客-优快云博客_qscrollbar样式 (2)以下部分为QScrollBar样式原创,分为水平方向及垂直方向,同大家共同学习分享 2、注意事项 (1)上下火左右箭头风格不生效时,查看以下两个属性是否设置 subcontrol-position:left; subcontrol-origin:margin; (2)QScr

m0_51668269的博客 8957

QScrollBar

QScrollBar是Qt GUI库中的一种可视化滚动条控件。滚动条用于在较大的内容区域或视图中浏览内容。它们通常出现在滚动区域的边缘,并且可以通过拖动滑块来移动到内容的不同部分。QScrollBar可以通过调用setOrientation()函数设置为水平滚动条或垂直滚动条。你可以使用它来创建一个包含水平和垂直滚动条的滚动区域,或者为单独的内容区域提供滚动功能。 下面是一个示例代码,展示了如何在...

weixin_35750483的博客 792

QT入门Input Widgets之QScrollBar

qt控件

Littlehero_121的博客 3344

「QT」输入控件类 之 QScrollBar 滚动条类

QScrollBar:创建一个新的滚动条,并设置其方向(水平或垂直)以及父窗口。:创建一个新的滚动条,并设置其父窗口,但方向默认为水平。可以通过后续调用方法来改变方向。QScrollBar提供了一系列公有函数,用于配置和操作滚动条。:设置滚动条的当前值。value():返回滚动条的当前值。:设置滚动条的最小值。:设置滚动条的最大值。:设置滚动条的单步值。:设置滚动条的页面步长。:设置滚动条的方向(水平或垂直)。:设置滑块的位置(相对于滚动条的最小值)。:返回滑块的位置。

何曾参静谧的博客 1698

Qt QScrollBar滚动条样式设置

Qt QScrollBar滚动条样式设置

随笔 1万+

QT QScrollBar Class

QScrollBar小部件提供垂直或水平滚动条 https://doc.qt.io/qt-5/qscrollbar.html 详细说明 滚动条是一种控件,使用户能够访问文档中大于用于显示文档的窗口小部件的部分。它提供了用户在文档中当前位置以及可见文档数量的视觉指示。滚动条通常配有其他控件,可以实现更准确的导航。Qt以适合每个平台的方式显示滚动条。 如果需要在另一个窗口小部件上提供滚动视图,则使用QScrollArea类可能更方便,因为它提供了视口窗口小部件和滚动条。如果需要使用QAbstractSc

港湾的专栏 3964
上一篇: 第三十七章、PyQt输入部件:QAbstractSlider派生类QScrollBar滚动条、QSlider滑动条、QDial刻度盘功能介绍
下一篇: PyQt信号connect连接槽方法时报:native Qt signal is not callable错误
LaoYuanPython
LaoYuanPython 2020年博客之星Top3 2020年博客之星Top3 领域专家: Python技术领域 领域专家: Python技术领域
博客等级 码龄8年 15万+粉丝 1324原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LaoYuanPython

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值