QAbstractSlider

一、描述

此类为 QScrollBarQSliderQDial 等小部件的通用超类。

二、属性成员

1、invertedAppearance : bool

是否倒置外观。

如果为 false(默认值),则最小值和最大值将显示在继承小部件的经典位置。

如果为true,则最小值和最大值出现在它们相反的位置。

2、invertedControls : bool

是否反转其滚轮和按键事件。

如果为 false,则向上滚动鼠标滚轮或使用向上翻页等键会将值增加到最大值。

如果为 true,则向上滚动鼠标滚轮或使用向上翻页等键会将值减小到最小值。

3、maximum : int

最大值。设置此属性时,如有必要,会调整最小值以确保范围保持有效。当前值也被调整到新的范围内。

4、minimum : int

最小值。设置此属性时,如有必要,会调整最大值以确保范围保持有效。 当前值也被调整到新的范围内。

5、orientation : Qt::Orientation

滑块的方向。方向是 Qt::Vertical(默认)或 Qt::Horizontal。

6、pageStep : int

Page步长。按下 PageUp 或 PageDown 键会变化的值。

7、singleStep : int

单步。按下方向键会变化的值。

8、sliderDown : bool

滑块是否被按下。

9、sliderPosition : int

当前滑块位置。如果启用了 tracking,则与 value 相同。

10、tracking : bool

是否启用滑块跟踪。默认为true。

如果启用,则滑块在拖动滑块时会发出 valueChanged() 信号。 如果禁用,则滑块仅在用户释放滑块时才会发出 valueChanged() 信号。

11、value : int

滑块的当前值。滑块强制值在合法范围内:最小值 <= 值 <= 最大值。

更改 value 也会更改 sliderPosition

三、成员函数

1、【信号】void actionTriggered(int action)

当滑块动作动作被触发时会发出这个信号。动作包括:

  • SliderNoAction
  • SliderSingleStepAdd
  • SliderSingleStepSub
  • SliderPageStepAdd
  • SliderPageStepSub
  • SliderToMinimum
  • SliderToMaximum
  • SliderMove

当信号发出时,sliderPosition 已经根据动作进行了调整,但是 value 还没有被传播(意味着 valueChanged() 信号还没有发出),视觉显示还没有更新。因此,在连接到此信号的槽中,可以根据动作和滑块的值自己调用 setSliderPosition() 来安全地调整任何动作。

void triggerAction(QAbstractSlider::SliderAction action)

触发滑块动作。

2、【信号】void rangeChanged(int min, int max)

当滑块范围发生变化时会发出此信号,min 是新的最小值,max 是新的最大值。

3、void setRange(int min, int max)

将滑块的最小值设置为 min,将其最大值设置为 max。

4、【信号】void sliderMoved(int value)

当 sliderDown 为true并且滑块移动时发出此信号。这通常发生在用户拖动滑块时。value 是新的滑块位置。

即使 tracking 为 false 也会发出此信号。

5、【信号】void sliderPressed()

此信号在用户使用鼠标按下滑块时、在调用 setSliderDown(true) 时发出。

6、【信号】void sliderReleased()

当用户使用鼠标释放滑块时、在调用 setSliderDown(false) 时发出此信号。

7、 【信号】void valueChanged(int value)

value 发生变化时会发出此信号,并将新滑块值作为参数。

8、void setRepeatAction(QAbstractSlider::SliderAction action,int thresholdTime = 500,int repeatTime = 50)

在 thresholdTime 的初始延迟之后,将 action 操作设置为以 repeatTime 的间隔重复触发。

QAbstractSlider::SliderAction repeatAction()

返回当前的重复动作。

9、void sliderChange(QAbstractSlider::SliderChange change)

重新实现此虚函数以跟踪滑块更改。

  • SliderRangeChange
  • SliderOrientationChange
  • SliderStepsChange
  • SliderValueChange

QSlider

一、描述

QSlider 是用于控制有界值的经典小部件。它允许用户沿水平或垂直凹槽移动滑块手柄,并将手柄的位置转换为合法范围内的整数值。

QSlider 自己的功能很少; 大多数功能都在 QAbstractSlider 中。 最有用的函数是 setValue() 直接将滑块设置为某个值。

二、类型成员

1、enum QSlider::TickPosition:此枚举指定相对于滑块的凹槽和用户移动的手柄绘制刻度线的位置。

  • NoTicks:不绘制任何刻度线。
  • TicksBothSides:在凹槽的两侧绘制刻度线。
  • TicksAbove:在(水平)滑块上方绘制刻度线
  • TicksBelow:在(水平)滑块下方绘制刻度线
  • TicksLeft:在(垂直)滑块左侧绘制刻度线
  • TicksRight:在(垂直)滑块的右侧绘制刻度线

三、属性成员

1、tickInterval : int

刻度线之间的间隔。这是一个值区间,而不是像素区间。默认值为 0。

如果为 0,则滑块将在 singleSteppageStep 之间进行选择。

2、tickPosition : TickPosition

滑块的刻度线位置。默认值为 QSlider::NoTicks。

四、成员函数

1、void initStyleOption(QStyleOptionSlider *option)

使用此 QSlider 中的值初始化选项。 当子类需要一个 QStyleOptionSlider 但又不想自己填写所有信息时,此方法很有用。


QDial

一、描述

QDial 类提供了一个圆形范围控制控件。

由于 QDial 继承自 QAbstractSlider,所以它的行为类似于滑块。

与滑块不同的是,QDial 尝试绘制一定数量的刻线。

但如果没有足够的像素来绘制每一个刻线,QDial 将尝试绘制一个统一集(例如,每隔二个或三个刻线绘制一次)。

二、属性成员

1、notchSize : const int

当前的刻线数量。

此属性以范围控制单位为单位,而不是像素,并且计算为 singleStep() 的倍数,从而使屏幕上的刻线大小接近 notchTarget()。

2、notchTarget : qreal

刻线之间的像素数。默认为 3.7 像素。QDial 尝试放置在每个刻线之间的像素数。

3、notchesVisible : bool

是否显示刻线。默认不显示刻线。

如果为true,则在表盘周围绘制一系列刻线以指示可用值的范围。

4、wrapping : bool

是否启用环绕。默认为 false。

如果启用,箭头可以在刻度盘上以任意角度定向。

如果禁用,箭头将被限制在表盘的上部,如果它被旋转到表盘底部的空间中,它将被夹到有效值范围的最近端。

三、成员函数

1、void initStyleOption(QStyleOptionSlider *option)

使用此 QDial 中的值初始化选项。当子类需要一个 QStyleOptionSlider 但又不想自己填写所有信息时,此方法很有用。


QScrollBar

一、描述

滚动条控件,它使用户能够访问大于用于显示它的小部件的文档部分。它提供了用户在文档中的当前位置和可见文档数量的视觉指示。滚动条通常配备其他控件,可以实现更准确的导航。 Qt 以适合每个平台的方式显示滚动条。

如果需要在另一个小部件上提供滚动视图,使用 QScrollArea 类可能更方便,因为它提供了视口小部件和滚动条。如果需要使用 QAbstractScrollArea 为专门的小部件实现类似的功能,QScrollBar 很有用。对于使用滑块控件获取给定范围内的值的大多数其他情况,QSlider 类可能更适合。

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

  • a滑块:提供了一种快速转到文档任何部分的方法,但不支持在大型文档中进行准确导航。
  • b滚动箭头:按钮,可用于准确导航到文档中的特定位置。
  • c页面控件:拖动滑块的区域(滚动条的背景)。 单击此处将滚动条移向单击一个“页面”。 该值通常与滑块的长度相同。

为滚动条指定的值范围通常与为 QSlider 确定的值范围不同,因为需要考虑滑块的长度。如果有一个 100 行的文档,而只能在一个小部件中显示 20 行,可能希望构建一个页面步长为 20、最小值为 0、最大值为 80 的滚动条。这将给我们一个带有五个“页面”的滚动条。

文档长度、滚动条中使用的值范围和 pageStep 之间的关系:

文档长度 = maximum() - minimum() + pageStep()

QScrollBar 只提供整数范围。尽管 QScrollBar 处理非常大的数字,但当前屏幕上的滚动条不能有效地表示超过 100,000 像素的范围。 除此之外,用户很难使用键盘或鼠标来控制滑块,并且滚动箭头的使用将受到限制。

二、成员函数

1、void initStyleOption(QStyleOptionSlider *option)

使用此 QScrollBar 中的值初始化选项。 当子类需要一个 QStyleOptionSlider 但又不想自己填写所有信息时,此方法很有用。

QAbstractSlider、QSlider、QDial、QScrollBar相关推荐

  1. QT入门Input Widgets之QFontComboBox、QTextEdit、QPlainTextEdit、QDial、QKeySequenceEdit

    目录 一.QFontComboBox的相关介绍 1.实际使用 二.QTextEdit与QPlainTextEdit 三.QDial的相关介绍 四.QKeySequenceEdit的相关介绍 此文为作者 ...

  2. python PyQt5 QtWidgets.QAbstractSlider类(QScrollBar,QSlider和QDial之类的小部件的公共超类)

    https://doc.qt.io/qtforpython/PySide2/QtWidgets/QAbstractSlider.html?highlight=valuechanged#qabstrac ...

  3. 【PyQt5 知识点示例代码】布局、菜单、信号与槽、对话框、组件

    PyQt5笔记 重写按钮的关闭事件 closeEvent 布局 绝对布局 盒布局 网络布局 状态栏.菜单栏.子菜单.勾选菜单.右键菜单 信号与槽 点击按钮显示窗口 重写keyPressEvent - ...

  4. etcd 笔记(05)— etcd 代码结构、各模块功能、整体架构、各模块之间的交互、请求和应答流程

    1. etcd 项目结构和功能 etcd 项目代码的目录结构如下: $ tree ├── auth ├── build ├── client ├── clientv3 ├── contrib ├── ...

  5. VS Code 配置调试参数、launch.json 配置文件属性、task.json 变量替换、自动保存并格式化、空格和制表符、函数调用关系、文件搜索和全局搜索、

    1. 生成配置参数 对于大多数的调试都需要在当前项目目录下创建一个 lanch.json 文件,位置是在当前项目目录下生成一个 .vscode 的隐藏文件夹,在里面放置一些配置内容,比如:settin ...

  6. 计图(Jittor) 1.1版本:新增骨干网络、JIT功能升级、支持多卡训练

    计图(Jittor) 1.1版本:新增骨干网络.JIT功能升级.支持多卡训练 深度学习框架-计图(Jittor),Jittor的新版本V1.1上线了.主要变化包括: • 增加了大量骨干网络的支持,增强 ...

  7. 对端边缘云网络计算模式:透明计算、移动边缘计算、雾计算和Cloudlet

    对端边缘云网络计算模式:透明计算.移动边缘计算.雾计算和Cloudlet 概要 将数据发送到云端进行分析是过去几十年的一个突出趋势,推动了云计算成为主流计算范式.然而,物联网时代设备数量和数据流量的急 ...

  8. Shiro01 功能点框图、架构图、身份认证逻辑、身份认证代码实现

    基本功能点 功能点框图 功能点说明 1.Authentication:身份认证/登录,验证用户是不是拥有相应的身份: 2.Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个 ...

  9. PyTorch 笔记(16)— torch.nn.Sequential、torch.nn.Linear、torch.nn.RelU

    PyTorch 中的 torch.nn 包提供了很多与实现神经网络中的具体功能相关的类,这些类涵盖了深度神经网络模型在搭建和参数优化过程中的常用内容,比如神经网络中的卷积层.池化层.全连接层这类层次构 ...

最新文章

  1. 如何在自己的信息管理系统里集成第三方权限控制组件 - 设计一个漂亮的WEB界面...
  2. kalman滤波的解释
  3. 为什么vs数据库中文显示问号_第005期 | 写论文为什么不应写别人没写过的题目?...
  4. jBPM4工作流开发实战 之 第五部分 其他知识
  5. 「mysql优化专题」90%程序员面试都用得上的索引优化手册(5)
  6. Excel2016如何添加表格边框?分享技巧!怎样在excel加入表格边框?
  7. 波士顿动力机器狗签约世界第一马戏团!
  8. POI解析docx与doc文档中的难点归纳
  9. HttpEntity的类型及其使用(各种继承的使用)
  10. 整理:X86架构图示以及各部分解释
  11. ArcEngine代码 浏览器端图形JSON与后端IGeometry相互转换
  12. [摘录]第3章 终局谈判策略
  13. 简单的理解unicode和utf-8的关系
  14. ES中 同时使用should和must 导致只有must生效 解决方案
  15. 【第01篇】利用POI框架的SAX方式之读取大数据2007版Excel(xlsx)【第1版】
  16. 星座高考成绩查询2021,2021年能金榜题名的星座,2021年学业运势旺盛的星座
  17. CPU虚拟化的三种技术
  18. java+mysql基于ssm企业进销存管理系统【计算机毕业设计】
  19. win10 win7 php,win10降win7的方法
  20. Paralleled Merge Sort using CUDA

热门文章

  1. 线性代数 --- 如何判断矩阵是否可逆(奇异与非奇异)?
  2. Android onLayout、layout区别
  3. 如何将M4A格式音频转换成MP3格式?分享两个方法给大家!
  4. 【RedisTemplate】
  5. 省常中NOIP模拟 失意failure
  6. Kafka启动一段时间后被Killed异常解决
  7. 测试用例方法---场景法(黑盒)
  8. Docker私服硬盘满问题
  9. 使用 Kali Linux 跟踪任何设备位置
  10. 老司机 iOS 周报 #50 | 2019-01-02