Qt应用开发(基础篇)——滑块类 QSlider、QScrollBar、QDial

一、前言

         滑块类QScrollBar、QSlider和QDial继承于QAbstractSlider,父类主要拥有最大值最小值步长当前值滑块坐标等信息,滑动的时候触发包含值数据变化滑块按下滑块释放等信号。键盘包括左/上和右/下箭头键通过定义的singleStep改变当前值,Page up和Page down通过定义的pageStep调整,Home和End键将值设置为定义的最小值和最大值。

        QDial刻度盘,使用QDial控制一个在自定义范围内的值,该范围一般是环绕0~359°。一般用来针对有角度的场景下使用。

                              

         QSlider滑块手柄,提供让用户沿着水平或垂直槽移动滑块手柄。一般用来显示音量、背光亮度等信息。

        QScrollBar滚动条,QScrollBar提供了用户在文档中的当前位置和可见文档数量的可视化指示。滚动条通常和其他控件配合使用,实现精确导航。

 二、QAbstractSlider类

1、invertedAppearance

        该属性表示是否需要反转值,也就是最大值和最小值显示的位置相反。这个参数常用于QSlider滑块手柄和QDial刻度盘。

bool invertedAppearance() const        //获取值
void setInvertedAppearance(bool)       //设置值

2、invertedControls

        该属性表示是否翻转滚轮和键盘的事件。禁用的时候为滚轮向上为增加,向下为减少,禁用则相反。

bool invertedControls() const        //获取值
void setInvertedControls(bool)       //设置值

3、maximum

        该属性表示滑块的最大值和最小值。

int maximum() const        //获取最大值
void setMaximum(int)       //设置最大值

4、minimum

        该属性表示滑块的最大值和最小值。

int minimum() const     //获取最小值
void setMinimum(int)    //设置最小值

5、orientation

        该属性表示滑块的方向,Qt::Vertical或者Qt::Horizontal。

Qt::Orientation orientation() const        //获取方向
void setOrientation(Qt::Orientation)       //设置方向

6、pageStep

        该属性表示翻页的步长,对应于用户按下PageUp或PageDown的时候滑块移动的距离。

int pageStep() const     //获取步长
void setPageStep(int)    //设置步长

7、singleStep

        该属性表示单步长,对应用户按下上下左右键的时候滑块移动的距离。

int singleStep() const        //获取步长
void setSingleStep(int)       //设置步长

8、sliderDown

        该属性表示滑块是否被按下,以便让抽象滑动条知道跟踪是否有任何效果。

bool isSliderDown() const    //获取滑块是否被按下
void setSliderDown(bool)    //设置滑块是否被按下

9、tracking

        该属性表示是否启用滑块跟踪。如果启用了跟踪(默认值),则滑动块在被拖动时发出valueChanged()信号。如果禁用跟踪,则只有当用户释放滑块时,滑块才会发出valueChanged()信号。

bool hasTracking() const        //获取值
void setTracking(bool enable)   //设置值

10、sliderPosition

        该属性表示当前滑块的位置,如果启动滑块跟踪,sliderPosition和value值是同步的,如果禁用滑块跟踪,在滑动过程中,sliderPosition会发生变化,而value不会,滑块释放之后value值与sliderPosition值相同。

int sliderPosition() const        //获取滑块位置
void setSliderPosition(int)         //设置滑块位置

11、value

        该属性保存当前值,最小值<= 当前值<=最大值。

int value() const        //获取当前值
void setValue(int)       //设置当前值

12、信号

void actionTriggered(int action)        //滑动动作触发 action值如下
1)QAbstractSlider::SliderNoAction         0
2)QAbstractSlider::SliderSingleStepAdd    1
3)QAbstractSlider::SliderSingleStepSub    2
4)QAbstractSlider::SliderPageStepAdd      3
5)QAbstractSlider::SliderPageStepSub      4
6)QAbstractSlider::SliderToMinimum        5
7)QAbstractSlider::SliderToMaximum        6
8)QAbstractSlider::SliderMove             7
void rangeChanged(int min, int max)     //范围发生变化触发
void sliderMoved(int value)             //滑块滑动触发
void sliderPressed()                    //滑块按下触发
void sliderReleased()                   //滑块释放触发
void valueChanged(int value)            //当前值发生变化触发

三、QDial

1、notchSize

        该属性表示当前缺口大小,也就是每个刻度之前的距离,这个值是按控制单位来计算,默认值是1。

int notchSize() const //获取缺口大小

2、notchTarget

        该属性表示缺口之间的像素值,默认3.7像素。设置完此参数,在Desigin拖动控件大小,会发现缺口数量增多或减小,notchSize的值也会相应发生变化。

qreal notchTarget() const             //获取缺口像素
void setNotchTarget(double target)    //设置缺口像素

3、notchesVisible

        该属性表示是否显示缺口。

bool notchesVisible() const            //获取是否启用缺口
void setNotchesVisible(bool visible)   //设置是否启用缺口
notchesVisible = false
notchesVisible = true

4、wrapping

       该属性表示是否启用包装(裹起来)。启动则滑块可以到圆形的任意一个角度,禁用则将在刻度盘底部插入一些空格,滑块限制在图形上端,如果滑到中间底部,则会自动跳到最新端。

bool wrapping() const        //获取是否包裹
void setWrapping(bool on)    //设置是否包裹
wrapping = false
wrapping = true

四、QSlider

1、tickInterval

        该属性表示刻度之间间隔,配合tickPosition使用,如果没有设置,则从singleStep或者pageStep中选一个当做这个间隔。

int tickInterval() const        //获取标记间隔
void setTickInterval(int ti)    //设置标记间隔

2、tickPosition

        该属性保存刻度位置。

QSlider::TickPosition tickPosition() const            //获取标记间隔样式
void setTickPosition(QSlider::TickPosition position)  //设置标记间隔样式
  • QSlider::NoTicks                     不要画任何标记
  • QSlider::TicksBothSides         在槽的两边画刻度。
  • QSlider::TicksAbove                在(水平)滑块上方画刻度
  • QSlider::TicksBelow                在(水平)滑块下方画刻度
  • QSlider::TicksLeft                    在(垂直)滑块的左侧绘制刻度标记
  • QSlider::TicksRight                  在(垂直)滑块的右侧绘制刻度标记

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/53572.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript |(六)DOM事件 | 尚硅谷JavaScript基础实战

学习来源&#xff1a;尚硅谷JavaScript基础&实战丨JS入门到精通全套完整版 文章目录 &#x1f4da;事件对象&#x1f4da;事件的冒泡&#x1f4da;事件的委派&#x1f4da;事件的绑定&#x1f407;赋值绑定&#x1f407;addEventListener()&#x1f407;attachEvent()&…

使用socket实现UDP版的回显服务器

文章目录 1. Socket简介2. DatagramSocket3. DatagramPacket4. InetSocketAddress5. 实现UDP版的回显服务器 1. Socket简介 Socket&#xff08;Java套接字&#xff09;是Java编程语言提供的一组类和接口&#xff0c;用于实现网络通信。它基于Socket编程接口&#xff0c;提供了…

Netty使用和常用组件辨析

Netty 使用和常用组件 简述 <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId <version>4.1.42.Final </version> <scope>compile</scope> </dependency> Netty 的优势 1 、 AP…

Qt使用QQuickWidget的输入法问题(Qt5.12及以前)

Qt使用QQuickWidget的输入法问题&#xff08;Qt5.12及以前&#xff09; 最近有网友表示&#xff0c;在使用QQuickWidget嵌入到QWidget时&#xff0c;QML内部的输入法会有问题。 主要表现是&#xff0c;当焦点从QWidget&#xff08;比如QLineEdit&#xff09;切换到QQuickWidg…

C语言 用数组名作函数参数

当用数组名作函数参数时&#xff0c;如果形参数组中各元素的值发生变化&#xff0c;实参数组元素的值随之变化。 1.数组元素做实参的情况&#xff1a; 如果已经定义一个函数&#xff0c;其原型为 void swap(int x,int y);假设函数的作用是将两个形参&#xff08;x,y&#xf…

在java中存储对象到redis出现类型转换异常的解决方法

**出现的问题,**此时的redisCatch已经注入 原因:这里传进来的是一个对象,redis不能直接将对象存到String中,必须将对象进行序列化转成json字符串再存储,其次.传进来的对象不能是null 再重新启动就行了

三、PWM呼吸灯

1. 什么是呼吸灯 如下图中的蓝色LED灯,不再是亮灭交替,而是慢慢亮慢慢灭,这就是呼吸灯 生活中常见 2. 怎样实现? 答:用PWM

瞄准产业应用,大模型加持的深兰科技AI虚拟数字人落地业务场景

伴随ChatGPT的问世&#xff0c;在技术与商业运作上都日渐发展成熟的AI数字人产业正持续升温。 目前的AI数字人不仅拥有超高“颜值”&#xff0c;同时还拥有更为丰富的、细腻的表情和动作。更有甚者&#xff0c;AI数字人已经具备自定义构建知识图谱、自主对话、不断学习成长的能…

vivo全球商城:电商交易平台设计

一、背景 vivo官方商城经过了七年的迭代&#xff0c;从单体架构逐步演进到微服务架构&#xff0c;我们的开发团队沉淀了许多宝贵的技术与经验&#xff0c;对电商领域业务也有相当深刻的理解。 去年初&#xff0c;团队承接了O2O商城的建设任务&#xff0c;还有即将成立的礼品中…

【单片机】51单片机,TLC2543,驱动程序,读取adc

TLC2543 是一款 12 位精密模数转换器 (ADC)。 1~9、11、12——AIN0&#xff5e;AIN10为模拟输入端&#xff1b; 15——CS 为片选端&#xff1b; 17——DIN 为串行数据输入端&#xff1b;&#xff08;控制字输入端&#xff0c;用于选择转换及输出数据格式&#xff09; 16——…

ChatGPT下架官方检测工具,承认无法鉴别AI内容

去年底&#xff0c;OpenAI 推出的 ChatGPT &#xff0c;带来了生成式人工智能涌现的热潮。它不仅能够协助完成撰写邮件、视频脚本、文案、翻译、代码等任务&#xff0c;还能通过学习和理解人类的语言来进行对话&#xff0c;并根据聊天的上下文进行互动。 但随之而来的争议也让人…

无向图-已知根节点求高度

深搜板子题&#xff0c;无向图&#xff0c;加边加两个&#xff0c;dfs输入两个参数变量&#xff0c;一个是当前深搜节点&#xff0c;另一个是父节点&#xff08;避免重复搜索父节点&#xff09;&#xff0c;恢复现场 ///首先完成数组模拟邻接表#include<iostream> #incl…