Qt应用开发(基础篇)——数值微调输入框QAbstractSpinBox、QSpinBox、QDoubleSpinBox

目录

一、前言

二、QAbstractSpinBox类

1、accelerated

2、acceptableInput

3、alignment

4、buttonSymbols

5、correctionMode

6、frame

7、keyboardTracking

8、readOnly

9、showGroupSeparator

10、specialValueText

11、text 

12、wrapping

13、信号

二、QSpinBox类

1、cleanText

2、displayIntegerBase

3、maximum

4、minimum

5、prefix

6、suffix

7、singleStep

8、value

9、其他方法

10、信号

三、QDoubleSpinBox类

1、decimals


一、前言

       QAbstractSpinBox是全部微调输入框的父类,这是一种允许用户通过点击上下箭头按钮或输入数字来调整数值的图形用户界面控件,父类提供了当前值text、对齐方式align、只读readOnly等通用属性和方法。

        QSpinBox整数微调输入框,设计用来处理整数的输入。 

        

        QDoubleSpinBox双精度微调输入框,设计用来处理float型和double型的输入。

        

二、QAbstractSpinBox类

1、accelerated

        该属性表示是否启用加速。当按住上下键的时候当前值会增加/减少,启用此属性,则加速。

bool isAccelerated() const        //获取是否加速
void setAccelerated(bool on)      //设置是否加速

2、acceptableInput

        该属性表示当前输入是否满足验证。

bool hasAcceptableInput() const    //获取是否满足

3、alignment

        该属性表示对齐方式。默认靠左对齐 Qt::AlignLeft。

Qt::Alignment alignment() const        //获取对齐方式
void setAlignment(Qt::Alignment flag)  //设置对齐方式

4、buttonSymbols

        该属性标识按钮的样式。

QAbstractSpinBox::ButtonSymbols buttonSymbols() const        //获取样式
void setButtonSymbols(QAbstractSpinBox::ButtonSymbols bs)    //设置样式
  • QAbstractSpinBox::UpDownArrow          //上下样式
  • QAbstractSpinBox::PlusMinus                 //加减样式
  • QAbstractSpinBox::NoButtons                 //不显示按钮

5、correctionMode

        该属性表示校正模式。

QAbstractSpinBox::CorrectionMode correctionMode() const        //获取校正模式
void setCorrectionMode(QAbstractSpinBox::CorrectionMode cm)    //设置校正模式
  • QAbstractSpinBox::CorrectToPreviousValue                //恢复到最后一个有效值
  • QAbstractSpinBox::CorrectToNearestValue                 //恢复到最近的有效值

6、frame

        该属性表示是否绘制框。

bool hasFrame() const        //获取值
void setFrame(bool)          //设置值

7、keyboardTracking

        该属性表示是否启用键盘跟踪。如果启用,则在从键盘输入新值时,spinbox会发出valueChanged()和textChanged()信号。

        例如:当用户通过输入6,0和0输入值600时,spinbox会发出3个信号,分别为6,60和600。如果键盘跟踪被禁用,则spinbox在输入时不会发信号。当回车键被按下时,当键盘焦点丢失时,或者当其他spinbox功能被使用时,它会稍后发出信号。        

8、readOnly

        该属性表示是否只读。只读模式下不可编辑,可以复制,不显示光标。

bool isReadOnly() const        //获取是否只读
void setReadOnly(bool r)       //设置是否只读

9、showGroupSeparator

        该属性保留是否启用千位分隔符。默认false。

        

10、specialValueText

        该属性保存特殊文本,如果设置了此值,当当前值等于minimum()时,将显示此文本而不是数字值。如果要关闭此功能,设置空字符即可。

QString specialValueText() const                //获取特殊文本
void setSpecialValueText(const QString &txt)    //设置特殊文本

         实例:显示一个0-100%的输入框,当显示0%的时候显示为自动。

QSpinBox *zoomSpinBox = new QSpinBox;
zoomSpinBox->setRange(0, 100);
zoomSpinBox->setSingleStep(10);
zoomSpinBox->setSuffix("%");
zoomSpinBox->setSpecialValueText(tr("Automatic"));
zoomSpinBox->setValue(100);

         此程序当输入为0的时候,将自动变化文本为“Automatic”,textChanged()信号中得到的值为value为0,text值为“Automatic”

           

        注意:在Q5.9.6中,如果是按向下箭头减少到0%,textChanged()得到的字符串是“Automatic”,如果是键盘输入0,输入的一瞬间就触发textChanged()信号得到“0%”,然后文本自动变化成“Automatic”,这时候并没有在次触发信号,这是一个版本Bug。

11、text 

        该属性保存输入框当前文本。

QString text() const   //获取当前文本

12、wrapping

        该属性表示取值范围是否头尾相连,最大值向上回到最小值,最小值向下回到最大值。

bool wrapping() const            //获取是否启用值环绕
void setWrapping(bool w)         //设置是否启用值环绕

13、信号

void editingFinished()        //输入结束时候触发

二、QSpinBox类

1、cleanText

        该属性保存编辑框的文本,但不包括任何前缀、后缀、前导或尾随空格。setSuffix("%")后缀多一个“%”,text()得到“40%”,cleanText()得到“40”。

2、displayIntegerBase

        该属性表示显示值的进制,默认十进制。

int displayIntegerBase() const            //获取进制
void setDisplayIntegerBase(int base)      //设置进制

3、maximum

        该属性保存预设的最大值。

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

4、minimum

        该属性保存预设的最小值。

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

5、prefix

        该属性保存文本前缀。如果设置了specialValueText,值为最小值的时候显示特殊文本,这时候前缀不显示。

QString prefix() const                //获取预设前缀
void setPrefix(const QString &prefix) //设置预设前缀

6、suffix

        该属性保存文本后缀。如果设置了specialValueText,值为最小值的时候显示特殊文本,这时候后缀不显示。

QString suffix() const                    //获取预设后缀
void setSuffix(const QString &suffix)     //设置预设后缀

7、singleStep

        该属性表示步长,上下按钮根据此步长加减,默认为1。

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

8、value

        该属性标识当前值。

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

9、其他方法

void setRange(int minimum, int maximum);//设置预设最大值和最小值

10、信号

void textChanged(const QString &text)    //文本发生变化时触发
void valueChanged(int i)                 //值发生变化时触发

三、QDoubleSpinBox类

1、decimals

        该属性表示精度,用于显示小数数目。小数的最大值是DBL_MAX_10_EXP + DBL_DIG(即323),如果设置范围超过,也会被强行拉回来。

int decimals() const        //获取精度
void setDecimals(int prec)  //设置精度

        QDoubleSpinBox使用起来和QSpinBox除了表示的类型不同,几乎一样,所以它也一样拥有cleanTextmaximumminumumprefixsingleStepsuffixvalue属性,这些直接参考上文,有差异的无非就是int改为double。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pytorch实战-图像分类(一)(数据预处理)

目录 1.导入各种库 2.数据预处理 2.1数据读取 2.2图像增强 3.构建数据网络 3.1网络构建 3.2读取标签对应的名字 4.展示数据 4.1数据转换 4.2画图 5.模型训练 1.导入各种库 上代码: import os import matplotlib.pyplot as plt %matplotlib inline import nu…

一台电脑给另外一台电脑共享网络

这里写自定义目录标题 有网的电脑上操作一根网线连接两台电脑没网的电脑上 有网的电脑上操作 右键->属性->共享 如同选择以太网,勾选。确认。 一根网线连接两台电脑 没网的电脑上 没网的电脑为mips&麒麟V10 新增个网络配置ww,设置如下。 …

2.05 购物车后台刷新并显示

一.用户登录添加商品使用cookie存入购物车,并把购物车商品传入到后台 步骤1:创建购物车BO对象 public class ShopcartBO {private String itemId;private String itemImgUrl;private String itemName;private String specId;private String specName;p…

7.物联网操作系统互斥信号量

1.使用互斥信号量解决信号量导致的优先级反转, 2.使用递归互斥信号量解决互斥信号量导致的死锁。 3.高优先级主函数中多次使用同一信号量的使用,使用递归互斥信号量,但要注意每个信号量的使用要对应一个释放 优先级翻转问题 优先级翻转功能需…

牛客网Verilog刷题——VL48

牛客网Verilog刷题——VL48 题目答案 题目 在data_en为高期间,data_in将保持不变,data_en为高至少保持3个B时钟周期。表明,当data_en为高时,可将数据进行同步。本题中data_in端数据变化频率很低,相邻两个数据间的变化&…

【计算机视觉|人脸建模】SOFA:基于风格、由单一示例的2D关键点驱动的3D面部动画

本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 标题:SOFA: Style-based One-shot 3D Facial Animation Driven by 2D landmarks 链接:SOFA: Style-based One-shot 3D Facial Animation Driven by 2D landmarks | Proceedings of …

磁盘均衡器:HDFS Disk Balancer

HDFS Disk Balancer 背景产生的问题以及解决方法 hdfs disk balancer简介HDFS Disk Balancer功能数据传播报告 HDFS Disk Balancer开启相关命令 背景 相比较于个人PC,服务器一般可以通过挂载多块磁盘来扩大单机的存储能力在Hadoop HDFS中,DataNode负责最…

【数据结构与算法】线索化二叉树

线索化二叉树 n 个节点的二叉链表中含有 n 1 【公式 2n - (n - 1) n 1】个空指针域。利用二叉链表中的空指针域,存放指向该节点在某种遍历次序下的前驱和后继节点的指针(这种附加的指针称为“线索”)。这种加上了线索的二叉链表称为线索链…

网站是如何进行访问的?在浏览器地址栏输入网址并回车的一瞬间到页面能够展示回来,经历了什么?

这个问题是检验web和计网学习程度的经典问题。 网站访问流程: 1.域名->ip地址 1) 在输入完一个域名之后,首先是检查浏览器自身的DNS缓存是否有相应IP地址映射,如果没有对应的解析记录,浏览器会查找本机的hosts配置文件&…

【Spring Boot】Thymeleaf模板引擎 — Thymeleaf表达式

Thymeleaf表达式 本节介绍Thymeleaf的各种表达式&#xff0c;通过一些简单的例子来演示Thymeleaf的表达式及用法。 1.变量表达式 变量表达式即获取后台变量的表达式。使用${}获取变量的值&#xff0c;例如&#xff1a; <p th:text"${name}">hello</p>…

leetcode 763. 划分字母区间

2023.8.3 本题的关键是要确保同一字母需要在同一片段中&#xff0c;而这就需要关注到每个字母最后一次出现的位置。 思路&#xff1a;用一个哈希表保存每个字母&#xff08;26个&#xff09;最后一次出现的位置。然后从头遍历&#xff0c;不断更新最右边界&#xff0c;直到当前…

一个严肃的话题,ADR会取代WAF和RASP吗?

做安全的人应该都对WAF耳熟能详&#xff0c;也就是我们常说的Web应用防火墙&#xff0c;成为了应用安全防护的明星产品之一。从传统的防火墙、IDS、IPS&#xff0c;再到WAF横空出世&#xff0c;引领技术趋势若干年&#xff0c;这一阶段可以称为应用安全防护1.0时代。作为一款成…

计算机毕设 深度学习疫情社交安全距离检测算法 - python opencv cnn

文章目录 0 前言1 课题背景2 实现效果3 相关技术3.1 YOLOV43.2 基于 DeepSort 算法的行人跟踪 4 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要求&#xff0c;这两…

jar命令的安装与使用

场景&#xff1a; 项目中经常遇到使用WinR软件替换jar包中的文件&#xff0c;有时候存在WinRAR解压替换时提示没有权限&#xff0c;此时winRAR不能用还有有什么方法替换jar包中的文件。 方法&#xff1a; 使用jar命令进行修改替换 问题&#xff1a; 执行jar命令报错jar 不…

【从零开始学习JAVA | 第三十七篇】初识多线程

目录 前言&#xff1a; ​编辑 引入&#xff1a; 多线程&#xff1a; 什么是多线程&#xff1a; 多线程的意义&#xff1a; 多线程的应用场景&#xff1a; 总结&#xff1a; 前言&#xff1a; 本章节我们将开始学习多线程&#xff0c;多线程是一个很重要的知识点&#xff…

MYSQL进阶-事务

1.什么是数据库事务&#xff1f; 事务是一个不可分割的数据库操作序列&#xff0c;也是数据库并发控制的基本单位&#xff0c;其执 行的结果必须使数据库从一种一致性状态变到另一种一致性状态。事务是逻辑上 的一组操作&#xff0c;要么都执行&#xff0c;要么都不执行。 事务…

使用 LangChain 搭建基于 Amazon DynamoDB 的大语言模型应用

LangChain 是一个旨在简化使用大型语言模型创建应用程序的框架。作为语言模型集成框架&#xff0c;在这个应用场景中&#xff0c;LangChain 将与 Amazon DynamoDB 紧密结合&#xff0c;构建一个完整的基于大语言模型的聊天应用。 本次活动&#xff0c;我们特意邀请了亚马逊云科…

华为云CTS 使用场景

云审计服务 CTS 云审计服务&#xff08;Cloud Trace Service&#xff09;&#xff0c;帮助您监控并记录华为云账号的活动&#xff0c;包括通过控制台、API、开发者工具对云上产品和服务的访问和使用行为&#xff0c;提供对各种云资源操作记录的收集、存储和查询功能&#xff0…

应用在多媒体手机中的低功率立体声编解码器

多媒体手机一般是指可以录制或播放视频的手机。多媒体的定义是多种媒体的综合&#xff0c;一般是图像、文字、声音等多种结合&#xff0c;所以多媒体手机是可以处理和使用图像文字声音相结合的移动设备。目前流行的多媒体概念&#xff0c;主要是指文字、图形、图像、声音等多种…

【0803作业】创建两个线程:其中一个线程拷贝图片的前半部分,另一个线程拷贝后半部分(4种方法)

方法一&#xff1a;使用pthread_create、pthread_exit、pthread_join函数【两个线程不共用同一份资源】 先在主函数创建并清空拷贝的目标文件&#xff0c;再创建两个线程&#xff0c;在两个线程内部同时打开要读取的文件以及要拷贝的目标文件&#xff08;两个线程不共用同一份资…