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

news2024/11/19 11:29:40

目录

一、前言

二、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。

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

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

相关文章

zabbix监控mysql容器主从同步状态并告警钉钉/企业微信

前言:被监控的主机已经安装和配置mysql主从同步,和zabbix-agent插件。 mysql创建主从同步:http://t.csdn.cn/P4MYq centos安装zabbix-agent2:http://t.csdn.cn/fx74i mysql主从同步,主要监控这2个参数指标&#xf…

java -jar指定外部配置文件

场景 spingboot项目部署jar时,需要时常修改配置,为了方便,将配置文件放到jar包外 操作步骤 在jar包同级目录下创建config文件夹(位置没有强制要求,为了方便而已) 在jar包同级目录下创建start.bat文件,并编辑内容 echo off :: 命令窗口标题 title yudibei_performance_tes…

嘉楠勘智k230开发板上手记录(一)

一、前言 因为是小白,对于硬件接触不多,有什么错误欢迎指出。 环境:win11wsl2的ubuntu22.04 官方github kendryte/k230_docs: Kendryte K230 SDK Docs (github.com) 参考的文档 :k230_docs/zh/01_software/board/K230_SDK_使用说明.md at…

图像 检测 - YOLOv3: An Incremental Improvement (arXiv 2018)

YOLOv3: An Incremental Improvement - 增量改进(arXiv 2018) 摘要1. 引言2. 处理2.1 边界框预测2.2 类别预测2.3 跨规模预测2.4 特征提取器2.5 训练 3. 我们的做法4. 我们尝试过但没有成功的事情5. 这一切意味着什么References 声明:此翻译仅…

数据库系列之(一)SQL基本用法总结

文章目录 前言一、数据库是什么?二、数据库的作用是什么?三、数据库的种类以及常用的数据库四、SQL常用方法总结1.基本sql语句2.对数据进行限定和排序3.处理单行函数4.多表查询5.分组函数6.非关联查询与关联查询7.高级查询8.更多用法 总结 前言 当今信息…

测试岗?从功能测试进阶自动化测试开发,测试之路不迷茫...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 测试新人在想什么…

visual studio 生成dll文件以及修改输出dll文件名称操作

目录 visual studio 生成dll文件以及修改dll文件名称一、准备测试代码二、设置导出dll属性三、生成dll文件 .lib .dll .pdb 的简单介绍dll文件使用方式lib文件使用方式1、动态链接 (原理)2、静态链接: visual studio 生成dll文件以及修改dll文…

【雕爷学编程】 MicroPython动手做(35)——体验小游戏

知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…

《Kali渗透基础》12. 无线渗透(二)

kali渗透 1:无线协议栈1.1:ifconfig1.2:iwconfig1.3:iw1.4:iwlist 2:无线网卡配置2.1:查看无线网卡2.2:查看信道频率2.3:扫描附近 AP2.4:侦听接口添加与删除 …

物联网|按键实验---学习I/O的输入及中断的编程|读取I/O的输入信号|中断的编程方法|轮询实现按键捕获实验-学习笔记(13)

文章目录 实验目的了解擒键的工作原理及电原理图 STM32F407中如何读取I/O的输入信号STM32F407对中断的编程方法通过轮询实现按键捕获实验如何利用已有内工程创建新工程通过轮询实现按键捕获代码实现及分析1 代码的流程分析2 代码的实现 Tips:下载错误的解决 实验目的 了解擒键…

Drools用户手册翻译——第四章 Drools规则引擎(十)复杂事件处理(CEP)

甩锅声明:本人英语一般,翻译只是为了做个笔记,所以有翻译错误的地方,错就错了,如果你想给我纠正,就给我留言,我会改过来,如果懒得理我,就直接划过即可。 目录 ​编辑 …

Java课题笔记~ Mybatis注解开发

使用注解开发,可以减少Mapper映射文件的编写。 一、mybatis常用注解 Insert:实现新增 Update:实现更新 Delete:实现删除 Select:实现查询 Result:实现结果集封装 Results:可以与Result 一…

23款奔驰GLB200升级23P智能驾驶辅助系统,提升您的行车安全性

为什么要升级23P驾驶辅助系统呢?23P驾驶辅助系统功能有什么作用呢? 首先23P驾驶辅助系统功能有9个,相互结合让行车更安全,长途开车更轻松。提升驾驶的安全性。 所以选择装这套23P驾驶辅助系统的用户也比较多,现在道路…

屏蔽箱的种类、优点及使用场景介绍

屏蔽箱的用途是非常广泛的,能够屏蔽辐射电磁也可以阻隔电磁进入某一区域,达到屏蔽干扰信号的作用。屏蔽箱的种类是多样的,有着各自的优点。 按照应用领域屏蔽箱可分为以下几种: 1.电磁屏蔽箱:主要应用于电磁波测试和电…

【Jmeter】压测mysql数据库中间件mycat

目录 背景 环境准备 1、下载Jmeter 2、下载mysql数据库的驱动包 3、要进行测试的数据库 Jmeter配置 1、启动Jmeter图形界面 2、加载mysql驱动包 3、新建一个线程组,然后如下图所示添加 JDBC Connection Configuration 4、配置JDBC Connection Configurati…

洛谷P1918 保龄球

思路:要打多少个就在哪里打 比如要打100个,就在a数组中找出一个100,在那里打 所以可以用STL-map。 map大法好!!! 用map存储每种 瓶子个数 最后出现的位置。 就是说,比如样例中:…

[C++项目] Boost文档 站内搜索引擎(2): 文档文本解析模块parser的实现、如何对文档文件去标签、如何获取文档标题...

项目开始的准备工作 在上一篇文章中, 已经从Boost官网获取了Boost库的源码. 相关文章: 🫦[C项目] Boost文档 站内搜索引擎(1): 项目背景介绍、相关技术栈、相关概念介绍… 接下来就要编写代码了. 不过还需要做一些准备工作. 创建项目目录 所有的项目文件肯定要在一…

DTCC2023第十四届中国数据库大会分享:MySQL性能诊断平台:利用eBPF技术实现高效的根因诊断

主题 8月16-18日 DTCC2023第十四届中国数据库大会在北京国际会议中心召开,17日下午在云原生数据库开发与实践分论坛,我将带来分享:《MySQL性能诊断平台:利用eBPF技术实现高效的根因诊断》敬请期待! 欢迎大家提前试用我…

深度学习Redis(5):集群

前言 在前面的文章中,已经介绍了Redis的几种高可用技术:持久化、主从复制和哨兵,但这些方案仍有不足,其中最主要的问题是存储能力受单机限制,以及无法实现写操作的负载均衡。 Redis集群解决了上述问题,实…

【积累】安装PLSQL工具遇到的那些问题~

报错提示没有正确安装 解决方案:是需要安装oracle client oracle下载地址:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html 报错提示确认安装了32位的Oracle Client吗? 百度找解决方案&#xff1a…