第八篇:其他窗口部件 QAbstractSlider

news/2024/11/29 11:34:14/

QAbstractSlider

QAbstractSlider 是 Qt 提供的一个抽象基类,用于表示具有滑块功能的输入控件。它允许用户在一个整数区间内选择值,通过滑块的移动实现直观的交互。该类的典型实现包括水平、垂直滑块以及圆形表盘等多种形式。

子类概述

1. QScrollBar

  • 描述:滚动条,通常用于显示可滚动内容的当前位置。
  • 常见应用
    • 配合 QScrollArea 显示大尺寸文档或图片。
    • 在文本编辑器中实现滚动导航。
  • 关键功能
    • 通过上下按钮、滑块拖动或键盘控制实现精确导航。
    • 支持设置单步滚动和页面滚动的步长。

2. QSlider

  • 描述:提供直线滑块控件,用于选择一个整数值。
  • 常见应用
    • 音量控制。
    • 播放进度条。
    • 亮度或对比度调节。
  • 关键属性
    • tickPosition:设置刻度的位置。
    • tickInterval:设置刻度之间的间隔。
  • 扩展功能
    • 支持水平或垂直方向显示。
    • 可通过信号槽机制实时更新值。

3. QDial

  • 描述:圆形表盘控件,适合需要旋转输入的场景。
  • 常见应用
    • 用于旋钮类控件(如音频设备的调节旋钮)。
    • 控制参数范围环绕的设备(如机器人角度调节)。
  • 关键属性
    • wrapping:控制首尾是否连接。
    • notchTarget:设置刻度目标显示间隔。

核心属性

以下为所有 QAbstractSlider 子类的通用属性:

属性名称描述
invertedAppearance反转滑块外观。启用后,滑块位置从默认端反向显示。
invertedControls反转滑块控制逻辑。启用后,方向键的操作逻辑将反向(如向上变为减小,向下变为增大)。
maximum滑块允许的最大值。
minimum滑块允许的最小值。
value当前滑块值。
singleStep按方向键调整的步长,默认值为 1。
pageStep按 PageUp/PageDown 键调整的步长,默认值为 10。
orientation滑块的方向,可选值为水平 (Qt::Horizontal) 或垂直 (Qt::Vertical)。
tracking是否启用实时跟踪模式。拖动滑块时实时发射 valueChanged() 信号,默认值为 true
sliderPosition当前滑块手柄的位置,通常等同于 value 属性。

使用示例

以下代码展示了如何在窗口中使用 QScrollBarQSliderQDial 并设置其基本属性。

示例代码

#include <QWidget>
#include <QScrollBar>
#include <QSlider>
#include <QDial>
#include <QVBoxLayout>class MyWidget : public QWidget
{Q_OBJECTpublic:MyWidget(QWidget *parent = nullptr): QWidget(parent){QVBoxLayout *layout = new QVBoxLayout(this);// QScrollBar 示例QScrollBar *scrollBar = new QScrollBar(Qt::Horizontal, this);scrollBar->setMinimum(0);scrollBar->setMaximum(100);scrollBar->setPageStep(10);layout->addWidget(scrollBar);// QSlider 示例QSlider *slider = new QSlider(Qt::Vertical, this);slider->setMinimum(0);slider->setMaximum(100);slider->setTickPosition(QSlider::TicksRight);slider->setTickInterval(5);layout->addWidget(slider);// QDial 示例QDial *dial = new QDial(this);dial->setMinimum(0);dial->setMaximum(360);dial->setWrapping(true);layout->addWidget(dial);setLayout(layout);}
};

在这里插入图片描述


http://www.ppmy.cn/news/1550886.html

相关文章

浅谈网络 | 应用层之HTTP协议

目录 HTTP 请求的准备HTTP 请求的构建HTTP 请求的发送过程HTTP 返回的构建HTTP 2.0QUIC 协议HTTP 3.0 在讲完传输层之后&#xff0c;我们接下来进入应用层的内容。应用层的协议种类繁多&#xff0c;那从哪里开始讲起呢&#xff1f;不妨从我们最常用、最熟悉的 HTTP 协议 开始。…

数据库(总结自小林coding)|事务的四大特性、数据库的事务隔离级别、MySQL的执行引擎、MySQL为什么使用B+树来作索引

数据库&#xff08;总结自小林coding&#xff09;|事务的四大特性、数据库的事务隔离级别、MySQL的执行引擎、MySQL为什么使用B树来作索引 事务的四大特性有哪些数据库的事务隔离级别有哪些&#xff1f;MySQL的执行引擎有哪些&#xff1f;MySQL为什么使用B树来作索引 事务的四大…

六大排序算法:插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序

本章讲述数据结构中的六大排序算法 欢迎大佬们踊跃讨论&#xff0c;感谢大家支持&#xff01; 我的博客主页链接 六大排序算法 一.插入排序1.1 直接插入排序1.2 希尔排序 二.选择排序2.1 单向选择排序2.2双向选择排序2.3 堆排序 三.交换排序3.1 冒泡排序3.2 快速排序3.2.1 Hoa…

csp-j初赛模拟试题(解析)

题目&#xff1a; 在 C中&#xff0c;以下哪个关键字用于实现多态性&#xff1f; A. virtualB. staticC. externD. const 以下数据结构中&#xff0c;不属于线性结构的是&#xff08; &#xff09;。 A. 栈B. 队列C. 二叉树D. 链表 一个有 8 个顶点的无向图&#xff0c;若每个…

15分钟做完一个小程序,腾讯这个工具有点东西

我记得很久之前&#xff0c;我们都在讲什么低代码/无代码平台&#xff0c;这个概念很久了&#xff0c;但是&#xff0c;一直没有很好的落地&#xff0c;整体的效果也不算好。 自从去年 ChatGPT 这类大模型大火以来&#xff0c;各大科技公司也都推出了很多 AI 代码助手&#xff…

HTTP 管道传输与多路复用

HTTP 管道传输与多路复用 1. HTTP 管道传输&#xff08;Pipelining&#xff09; 概念&#xff1a; HTTP 管道传输&#xff08;Pipelining&#xff09;是 HTTP/1.1 协议的一项技术&#xff0c;它允许客户端在同一 TCP 连接中同时发送多个 HTTP 请求&#xff0c;而无需等待前一…

【数据结构与算法】相交链表、环形链表(判断是否有环)、环形链表(返回入环节点)

主页&#xff1a;HABUO&#x1f341;主页&#xff1a;HABUO &#x1f341;如果再也不能见到你&#xff0c;祝你早安&#xff0c;午安&#xff0c;晚安&#x1f341; 1.相交链表 题目&#xff1a;给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表…

WPS文字学习计划与策略

一、学习目标 熟练掌握WPS文字的基本操作:包括新建、打开、保存文档,文本输入与编辑,段落设置,页面布局调整等。高效利用WPS文字的编辑功能:掌握样式设置、插入图表、批注功能等,提高文档编写的效率和质量。学会利用模板快速生成文档:能够根据需要选择合适的模板,快速生…