Qt之QDial(表盘)

news2024/11/19 5:24:50

简介       

         QDial类提供了一个四舍五入的范围控制(如速度计或电位计),非常适合需要循环计数的情况,例如角度等。

头文件:#include <QDial> 

qmake:QT += widgets

继承:QAbstractSlider

        由于QDial从QAbstractSlider继承,因此拨号的行为与滑块类似。 当wrapping()为false(默认设置)时,滑块和刻度盘之间没有真正的区别。 它们共享相同的信号,插槽和成员功能。 您使用哪一个取决于您的用户期望和应用程序类型。

        在滑块移动时,拨号盘最初会连续发出valueChanged()信号; 可以通过禁用跟踪属性来减少发射信号的频率。 即使禁用跟踪,也会连续发出sliderMoved()信号。

        当按下并释放鼠标按钮时,拨号也会发出sliderPressed()和sliderReleased()信号。 请注意,由于键盘和滚轮也可用于更改数值,因此表盘的数值可能会发生变化,而不会发出这些信号。

        与滑块一样,表盘使用QAbstractSlider函数setValue()设置数值,如果使用鼠标滚轮调整刻度盘,则增量值由wheelSrollLine的较小值(由singleStep和pageStep倍增)确定。

以各种小部件样式显示的拨号(从左到右):Fusion,Windows Vista,Macintosh。 

 

属性

1、notchSize : const int

该属性保持当前的缺口大小。

缺口大小在范围控制单元中,而不是像素,并且如果可能的话,它是singleStep()的倍数,导致在notchTarget()附近的屏幕上的切口尺寸。

默认情况下,此属性的值为1。

获取函数;

int notchSize() const

2、notchTarget : qreal

该属性拥有陷波之间的目标像素数。

陷波目标是QDial尝试在每个陷波之间放置的像素数量。

实际尺寸可能与目标尺寸不同。

默认陷波目标是3.7像素。

获取函数;

qreal notchTarget() const

void setNotchTarget(double target)

3、notchesVisible : bool

该属性保持是否显示切口。

如果属性为true,则在刻度盘周围绘制一系列凹槽以指示可用值的范围; 否则没有显示缺口。

默认情况下,此属性被禁用。

获取函数;

bool notchesVisible() const

void setNotchesVisible(bool visible)

4、wrapping : bool

该属性保持是否启用包装。

如果为true,则打开包装; 否则在表盘底部插入一些空格以分隔有效值范围的末端。

如果启用,箭头的方向可以是任意角度。 如果禁用,箭头将被限制在拨号盘的上半部分; 如果它旋转到刻度盘底部的空间中,它将被钳位到有效值范围的最近端。

默认情况下,该属性为false。

获取函数;

bool wrapping() const

void setWrapping(bool on)

成员函数

1、QDial::QDial(QWidget *parent = Q_NULLPTR)

构造一个表盘。

父参数被发送到QAbstractSlider构造函数。

2、QDial::~QDial()

销毁表盘。

3、[virtual protected] bool QDial::event(QEvent *e)

从QObject :: event()重新实现。

4、[protected] void QDial::initStyleOption(QStyleOptionSlider *option) const

使用此QDial中的值初始化选项。 当他们需要QStyleOptionSlider时,此方法对子类很有用,但不希望自己填写所有信息。

5、[virtual] QSize QDial::minimumSizeHint() const

从QWidget :: minimumSizeHint()重新实现。

6、[virtual protected] void QDial::mouseMoveEvent(QMouseEvent *e)

从QWidget :: mouseMoveEvent()重新实现。

7、[virtual protected] void QDial::mousePressEvent(QMouseEvent *e)

从QWidget :: mousePressEvent()重新实现。

8、[virtual protected] void QDial::mouseReleaseEvent(QMouseEvent *e)

Reimplemented from QWidget::mouseReleaseEvent().

9、[virtual protected] void QDial::paintEvent(QPaintEvent *pe)

从QWidget :: paintEvent()重新实现。

10、[virtual protected] void QDial::resizeEvent(QResizeEvent *e)

从QWidget :: resizeEvent()重新实现。

11、[virtual] QSize QDial::sizeHint() const

从QWidget :: sizeHint()重新实现。

12、[virtual protected] void QDial::sliderChange(SliderChange change)

从QAbstractSlider :: sliderChange()重新实现。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在WIN10平台上体验Microsoft古老的Quick C 1.0编程

前言&#xff1a; 90年代初&#xff0c;微软出了Quick系统对抗Borland Turbo系列&#xff0c;其中包括 QuickBasic, QuickPascal和Quick C。1991年&#xff0c;Quick C for Windows 1.0发布&#xff0c;后来它被Visual C取代。我自己觉得微软成就在那个winstub.exe桩上&#xf…

连接虚拟机工具推荐

连接虚拟机工具推荐 连接虚拟机的工具有很多种&#xff0c;以下是一些常用的推荐&#xff1a; PuTTY&#xff1a;这是一个非常常用的SSH和telnet客户端&#xff0c;适用于Windows系统。它允许你在本地机器上通过命令行接口远程登录到虚拟机。 SecureCRT&#xff1a;这是一个支…

vscode 配置自定义code snippets 来快速生成你的常用代码

一、功能介绍 什么是 snippets 功能&#xff1f; 其实大家可能体验过vscode 预先内置的许多 snippets, 比如 for 循环。 在输入 for Tab 的时候&#xff0c;就可以自动生成代码模版&#xff0c; 展开就是这样的代码 有一个小窍门是通过 tab 键可以在参数之间进行跳转&#xf…

力扣 -- 1745. 分割回文串 IV

解题步骤&#xff1a; 参考代码&#xff1a; class Solution { public:bool checkPartitioning(string s) {int ns.size();vector<vector<bool>> dp(n,vector<bool>(n));for(int in-1;i>0;i--){for(int ji;j<n;j){if(s[i]s[j]){dp[i][j]i1<j?dp[i…

【C++设计模式之观察者模式:行为型】分析及示例

简介 观察者模式&#xff08;Observer Pattern&#xff09;是一种行为型设计模式&#xff0c;它定义了一种一对多的依赖关系&#xff0c;使得当一个对象的状态发生变化时&#xff0c;所有依赖它的对象都能够自动收到通知并更新。 描述 观察者模式由两个核心件组成&#xff1…

抄写Linux源码(Day18:读取硬盘前的准备工作有哪些?)

回忆我们需要做的事情&#xff1a; 为了支持 shell 程序的执行&#xff0c;我们需要提供&#xff1a; 1.缺页中断(不理解为什么要这个东西&#xff0c;只是闪客说需要&#xff0c;后边再说) 2.硬盘驱动、文件系统 (shell程序一开始是存放在磁盘里的&#xff0c;所以需要这两个东…

[论文精读]U-Net: Convolutional Networks for BiomedicalImage Segmentation

论文原文&#xff1a;U-Net: Convolutional Networks for Biomedical Image Segmentation (arxiv.org) 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔…

[笔记] Windows内核课程:保护模式《二》段寄存器介绍

文章目录 前言1、什么是段寄存器? 有哪些 ?2. 段寄存器的结构 前言 段寄存器&#xff0c;页寄存器 1、什么是段寄存器? 有哪些 ? 当我们用汇编读写某一个地址时: mov dword ptr ds:[0x123456],eax我们真正读写的地址是: ds.base 0x123456ES、CS、SS、DS、FS、GS、LDTR…

Linux和Hadoop的学习

目录 1. Linux的常用快捷键2. Hadoop集群部署问题汇总 1. Linux的常用快捷键 复制&#xff1a;CtrlshiftC 粘贴&#xff1a;CtrlshiftV TAB&#xff1a;补全命令 编写输入&#xff1a;i 退出编写&#xff1a;esc 保存并退出&#xff1a;shift&#xff1a; 2. Hadoop集群部署问…

网络安全(黑客)从零开始的自学指南(第一章)

第一章&#xff1a;网络安全概述 1.1 什么是网络安全 网络安全是指保护计算机网络系统和网络中的数据免受未经授权的访问、使用、破坏、篡改或泄露的一系列措施和技术。随着互联网的普及和信息化的发展&#xff0c;网络安全问题日益突出&#xff0c;对个人、组织和国家的安全…

电影大师杂记

假期集中刷了好多书&#xff0c;游戏和电影&#xff0c;在虚拟世界里猛烈的各种闲逛&#xff0c;cyberpunk 2077到blade runner&#xff0c;到异形&#xff0c;到终结者&#xff0c;到星球大战&环太平洋&#xff0c;到工业光魔&#xff0c;还有各种编程的书。。。 hmmm&…

Kali镜像

镜像地址 Index of /kali-images/http://old.kali.org/kali-images/

C++设计模式-装饰器(Decorator)

目录 C设计模式-装饰器&#xff08;Decorator&#xff09; 一、意图 二、适用性 三、结构 四、参与者 五、代码 C设计模式-装饰器&#xff08;Decorator&#xff09; 一、意图 动态地给一个对象添加一些额外的职责。就增加功能来说&#xff0c;Decorator模式相比生成子…

【推荐系统】wss课程-重排序

MMR marginal 边缘的&#xff1b; i已选中&#xff0c;j 未选中。注意&#xff01;j 是很多物品。 每一轮的 S 都会发生变化&#xff0c;所以每轮的 MRi都要重新计算。 - 每轮都从未选中的物品中与已选中的物品计算 MR&#xff0c;把分数最高的 i 从 R 中移出来。 目标&am…

Uvc Usb Camera 调节亮度无效问题,搞定

Uvc Usb Camera无法正常调节亮度的问题&#xff0c;搁置了也有好长一段时间了。假期期间&#xff0c;下定决心要排查下&#xff0c;搞定才行。 然后折腾了下&#xff0c;跟踪了下代码流程&#xff0c;添加了些日志,debug了下。 最后发现在下图位置&#xff0c;有个判断条件&…

基于SpringBoot的民宿在线预定平台

目录 前言 一、技术栈 二、系统功能介绍 用户信息管理 民宿信息管理 民宿资讯管理 民宿分类管理 用户注册 民宿信息 我的订单 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实…

C# 图解教程 第5版 —— 第1章 C# 和 .NET 框架

文章目录 1.1 在 .NET 之前1.2 .NET 时代1.2.1 .NET 框架的组成1.2.2 大大改进的编程环境 1.3 编译成 CIL1.4 编译成本机代码并执行1.5 CLR1.6 CLI1.7 各种缩写1.8 C# 的演化1.9 C# 和 Windows 的演化&#xff08;*&#xff09; 1.1 在 .NET 之前 MFC&#xff08;Microsoft Fou…

Golang网络编程:即时通讯系统Instance Messaging System

系统基本架构 版本迭代 项目改造 无人机是client&#xff0c;我们是server&#xff0c;提供注册登入&#xff0c;场景选择等。信道模拟器是server&#xff0c;我们是client&#xff0c;我们向信道模拟器发送数据&#xff0c;等待信道模拟器计算结果&#xff0c;返回给无人机。…

算法-动态规划-最长递增子序列

算法-动态规划-最长递增子序列 1 题目概述 1.1 题目出处 https://leetcode.cn/problems/longest-increasing-subsequence/ 1.2 题目描述 2 动态规划 2.1 思路 思考如果以dp[i]表示i位置的字符的最长递增子序列长度&#xff0c;那么很难找到dp[i]和dp[i-1]的关系&#xff…

【redis学习笔记】缓存

redis主要的三个应用场景 存储数据缓存消息队列&#xff08;redis本来是设计用来作为消息队列的&#xff09; redis常用作mysql的缓存 因为MySQL等数据库&#xff0c;效率比较低&#xff0c;所以承担的并发量就有限。一旦请求数量多了&#xff0c;数据库的压力就会很大&#…