QT QDoubleSpinBox 浮点计数器控件(使用详解)

news2024/11/15 10:12:44

        本文详细的介绍了QDoubleSpinBox控件的各种操作,例如:新建界面、获取数值、设置前后缀、设置最大/小值、设置显示精度、关联信号槽、优化信号、关联控件、文件源码、样式表等等操作。

        本文是QT控件使用详解的第十五篇 QT QDoubleSpinBox 浮点计数器控件(使用详解) 本系列文章较为详细的讲述了QT控件的基础操作和使用,也谢谢大家的关注、点赞、收藏。

 

本文作者原创,转载请附上文章出处与本文链接。

QT QDoubleSpinBox 浮点计数器控件(使用详解)目录

1 新建界面

2 获取数值

 3 设置前后缀

 4 设置最大/小值

5 设置显示精度

  6 关联信号槽

 7 优化信号

 8 关联控件

  9 main.cpp

10 mainwindow.h

11 mainwindow.cpp

12 样式表

13 其它文章 :


1 新建界面

       新建一个测试项目,修改界面添加 QDoubleSpinBox控件,添加几个按钮

2 获取数值

        主要用到了 value() 函数

/* 获取数值  */
void MainWindow::on_pushButton_clicked()
{
    QMessageBox::information(this,"提示",QString::number(ui->doubleSpinBox->value()));
}

 3 设置前后缀

        主要用到了 setPrefix()  setSuffix()  函数, 设置完前缀后缀之后调整数字前后缀都有,需要取消则赋NULL

/* 设置前缀  */
void MainWindow::on_pushButton_2_clicked()
{
    //获取
    //prefix()

    ui->doubleSpinBox->setPrefix(ui->lineEdit->text());

}

/* 设置后缀  */
void MainWindow::on_pushButton_3_clicked()
{
    //获取
    //suffix()

    ui->doubleSpinBox->setSuffix(ui->lineEdit->text());
}

 4 设置最大/小值

        主要用到了 setMaximum()  setMinimum()  函数

/* 设置最大值  */
void MainWindow::on_pushButton_4_clicked()
{
    ui->doubleSpinBox->setMaximum(ui->lineEdit_2->text().toDouble());
}

/* 设置最小值  */
void MainWindow::on_pushButton_5_clicked()
{
    ui->doubleSpinBox->setMinimum(ui->lineEdit_2->text().toDouble());
}

5 设置显示精度

/* 设置显示精度  */
void MainWindow::on_pushButton_6_clicked()
{
    //获取
    //decimals()

    ui->doubleSpinBox->setDecimals(ui->lineEdit_3->text().toInt());

}

  6 关联信号槽

        关联信号槽控件的每次响应都会发出信号

    void slotDoubleSpinBox();

    connect(ui->doubleSpinBox, SIGNAL(valueChanged(double)), this, SLOT(slotDoubleSpinBox()));

/* 槽函数 */
void MainWindow::slotDoubleSpinBox()
{
    QMessageBox::information(this,"提示",QString::number(ui->doubleSpinBox->value()));
}

 7 优化信号

        步骤6中,如果每输入一个数都会触发

ui->doubleSpinBox->setKeyboardTracking(false);

加入效果:

不加入效果:

 8 关联控件

        只是一个示范,关联 horizontalSlider 控件可以实现动态效果

 

  9 main.cpp

/******************************************************************************
 * Copyright CSDN 双子座断点 Co., Ltd.
 * Copyright www.dreambeging.vip Co., Ltd.
 * All right reserved. See COPYRIGHT for detailed Information.
 *
 * @file       main.cpp
 * @project    QDoubleSpinBox_test
 * @version    V 1.0
 *
 * @author     断点<dream.2017@qq.com>
 * @date       2022/12/4
 * @history
 *****************************************************************************/


#include "mainwindow.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

10 mainwindow.h

/******************************************************************************
 * Copyright CSDN 双子座断点 Co., Ltd.
 * Copyright www.dreambeging.vip Co., Ltd.
 * All right reserved. See COPYRIGHT for detailed Information.
 *
 * @file       main.cpp
 * @project    QDoubleSpinBox_test
 * @version    V 1.0
 *
 * @author     断点<dream.2017@qq.com>
 * @date       2022/12/4
 * @history
 *****************************************************************************/

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QMessageBox>

#pragma execution_character_set("utf-8")

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();


    QString QSpinBox_Title;
    QString QSpinBox_Version;
    QString QSpinBox_BlogText;

private slots:
    void on_pushButton_clicked();

    void on_pushButton_4_clicked();

    void on_pushButton_5_clicked();

    void on_pushButton_6_clicked();

    void on_pushButton_2_clicked();

    void on_pushButton_3_clicked();

    void slotDoubleSpinBox();

private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

11 mainwindow.cpp

/******************************************************************************
 * Copyright CSDN 双子座断点 Co., Ltd.
 * Copyright www.dreambeging.vip Co., Ltd.
 * All right reserved. See COPYRIGHT for detailed Information.
 *
 * @file       main.cpp
 * @project    QDoubleSpinBox_test
 * @version    V 1.0
 *
 * @author     断点<dream.2017@qq.com>
 * @date       2022/12/4
 * @history
 *****************************************************************************/


#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QSpinBox_Title = "QDoubleSpinBox CSDN 双子座断点 ";
    QSpinBox_Version = "V 1.0 ";
    QSpinBox_BlogText = "https://blog.csdn.net/qq_37529913?type=lately/";
    setWindowTitle(QSpinBox_Title + QSpinBox_Version + QSpinBox_BlogText);


    //ui->doubleSpinBox->setKeyboardTracking(false);
    connect(ui->doubleSpinBox, SIGNAL(valueChanged(double)), this, SLOT(slotDoubleSpinBox()));
}

MainWindow::~MainWindow()
{
    delete ui;
}

/* 槽函数 */
void MainWindow::slotDoubleSpinBox()
{
    //QMessageBox::information(this,"提示",QString::number(ui->doubleSpinBox->value()));
}



/* 获取数值  */
void MainWindow::on_pushButton_clicked()
{
    QMessageBox::information(this,"提示",QString::number(ui->doubleSpinBox->value()));
}


/* 设置最大值  */
void MainWindow::on_pushButton_4_clicked()
{
    ui->doubleSpinBox->setMaximum(ui->lineEdit_2->text().toDouble());
}

/* 设置最小值  */
void MainWindow::on_pushButton_5_clicked()
{
    ui->doubleSpinBox->setMinimum(ui->lineEdit_2->text().toDouble());
}

/* 设置显示精度  */
void MainWindow::on_pushButton_6_clicked()
{
    //获取
    //decimals()

    ui->doubleSpinBox->setDecimals(ui->lineEdit_3->text().toInt());

}

/* 设置前缀  */
void MainWindow::on_pushButton_2_clicked()
{
    //获取
    //prefix()

    ui->doubleSpinBox->setPrefix(ui->lineEdit->text());

}

/* 设置后缀  */
void MainWindow::on_pushButton_3_clicked()
{
    //获取
    //suffix()

    ui->doubleSpinBox->setSuffix(ui->lineEdit->text());
}

12 样式表

QT 控件重绘_双子座断点的博客-CSDN博客_qt 重绘

QT 样式表_双子座断点的博客-CSDN博客

QT 样式表属性完整版_双子座断点的博客-CSDN博客

Qt 系统字体_双子座断点的博客-CSDN博客

13 其它文章 :

QT TextEdit控件_双子座断点的博客-CSDN博客_qt textedit

QT QComboBox使用详解_双子座断点的博客-CSDN博客

QT QtableView操作详解_双子座断点的博客-CSDN博客_qtableview增删改查

Qt QStandardItemModel(1.超级详细用法)_双子座断点的博客-CSDN博客_qstandardmodel

Qt QStandardItemModel(2.超级详细函数)_双子座断点的博客-CSDN博客_qstandarditemmodel点击事件

QT QRadioButton使用详解_双子座断点的博客-CSDN博客_qt radiobutton

QT QLineEdit使用详解_双子座断点的博客-CSDN博客_qt qlineedit

Qt QMessageBox使用详解_双子座断点的博客-CSDN博客_qt message

QChart折线图、饼状图、条形图、曲线图_双子座断点的博客-CSDN博客_qchart样式

QChart属性详解_双子座断点的博客-CSDN博客_setanimationoptions

QCharts QValueAxis使用_双子座断点的博客-CSDN博客_qvalueaxis

Qt 5 等待提示框(开源 动态图)_双子座断点的博客-CSDN博客_qt 等待对话框

QtDataVisualization 数据3D可视化_双子座断点的博客-CSDN博客_qtdatavisualizatio

QT QSpinBox 整数计数器控件 使用详解_双子座断点的博客-CSDN博客

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

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

相关文章

【ArcGIS风暴】ArcGIS栅格影像去除黑边(背景值)方法汇总

文章目录 1. 数据加载时属性中设置去除黑边2. 应用setnull工具去除黑边3. 应用栅格计算器去除黑边4. 应用复制栅格工具去除黑边5. 应用影像分析去除黑边6. 应用镶嵌数据集去除黑边影像产生黑边的原因无外乎在设置无效值时,将无效值设成了0,而影像在导入软件进行渲染时,并没有…

制作一个简单HTML静态网页(HTML+CSS)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

TensorRT安装

本文是为了记录安装TensorRT过程中遇到的一些问题。 首先进入TensorRT下载页面&#xff0c;选择你要下载的TensorRT版本。 因为TensorRT不同的版本依赖于不同的cuda版本和cudnn版本。所以很多时候我们都是根据我们自己电脑的cuda版本和cudnn版本来决定要下载哪个TensorRT版本。…

[附源码]计算机毕业设计校园招聘系统设计Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

如何收到消息第一时间将网站置灰,难道让程序员上个线?

注意&#xff1a;文本不是讲如何将网站置灰的那个技术点&#xff0c;那个技术点之前汶川地震的时候说过。 本文不讲如何实现技术&#xff0c;而是讲如何在第一时间知道消息后&#xff0c;更快速的实现这个置灰需求的上线。 实现需求不是乐趣&#xff0c;指挥别人去实现需求才…

安全研究 # 二进制代码相似性检测综述

本文参考&#xff1a; [1]方磊,武泽慧,魏强.二进制代码相似性检测技术综述[J].计算机科学,2021,48(05):1-8. (信息工程大学数学工程与先进计算国家重点实验室, 国家重点研发课题,北大核心) 摘要 代码相似性检测常用于代码预测、知识产权保护和漏洞搜索等领域&#xff0c;可分为…

Numpy入门[11]——生成数组的函数

Numpy入门[11]——生成数组的函数 参考&#xff1a; https://ailearning.apachecn.org/ 使用Jupyter进行练习 import numpy as nparange arange 类似于Python中的 range 函数&#xff0c;只不过返回的不是列表&#xff0c;而是数组&#xff1a; arange(start, stop None, st…

Java并发编程—java内存模型2

文章目录重排序数据依赖性as-if-serial重排序对多线程的影响顺序一致性同步程序的顺序一致性效果同步/异步总线事务双重校验锁—————————————————————————————————— 重排序 数据依赖性 数据依赖不能进行重排序 as-if-serial as-if-seri…

[附源码]计算机毕业设计大学生心理健康测评系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Compressed Bloom Filters论文总结

Compressed Bloom Filters论文总结AbstractI. INTRODUCTIONII. COMPRESSED BLOOM FILTERS:THEORYA. Bloom FiltersB. Compressed Bloom FiltersIII. COMPRESSED BLOOM FILTERS:PRACTICEA. ExamplesIV. DELTA COMPRESSIONV. COUNTING BLOOM FILTERSVI. CONCLUSIONAbstract 我们…

Elasticsearch面试题

Elasticsearch面试题 1 为什么要使用Elasticsearch? 系统中的数据&#xff0c;随着业务的发展&#xff0c;时间的推移&#xff0c;将会非常多&#xff0c;而业务中往往采用模糊查询进行数据的搜索&#xff0c;而模糊查询会导致查询引擎放弃索引&#xff0c;导致系统查询数据…

C#/WPF/.NET 找到的程序集清单定义与程序集引用不匹配

vs 窗口报错 引发的异常:“System.Windows.Markup.XamlParseException”(位于 PresentationFramework.dll 中) “初始化“CircularGauge.CircularGaugeControl”时引发了异常。”&#xff0c;行号为“288”&#xff0c;行位置为“23”。代码位置报错 FileLoadException: 未能…

【Qt记录】属性 Q_PROPERTY

使用&#xff1a; Qt 拥有一个属性系统。我经常在QSS中使用 QWidget#SWNotifyMsgDialog QLabel#label_sure[status"normal"]配合在代码中使用 ui.label_sure->setProperty("status","warning"); 函数原型&#xff1a;bool QObject:setProp…

物联网开发笔记(56)- 使用Micropython开发ESP32开发板之手机蓝牙控制舵机

一、目的 这一节我们学习如何使用我们的ESP32开发板来实现通过蓝牙控制接在ESP32开发板上的舵机。 二、环境 ESP32 MG90S舵机 Thonny IDE 几根杜邦线 手机 舵机的链接方法见第54节&#xff1a;物联网开发笔记&#xff08;54&#xff09;- 使用Micropython开发ESP32开发板之…

Win11的两个实用技巧系列之电脑死机解决办法

目录 Win11电脑突然死机卡住不动?Win11电脑死机屏幕静止 方法一&#xff1a; 方法二&#xff1a; sfc包括有以下命令&#xff1a; 方法三&#xff1a; 点击拿去 Win11电脑突然死机卡住不动?Win11电脑死机屏幕静止 在使用Win11系统时&#xff0c;很多用户经常会遇到自己…

12月3日下午:thinkphp框架中的视图以及模型剩余部分

回忆知识&#xff1a; dump()与halt()方法 dump()&#xff1a;输出内容后不会终止脚本&#xff0c;会继续向下执行 halt()&#xff1a;输出内容后会终止脚本&#xff0c;结束程序 //dump()和halt()public function haltTest(){$result \db(demo)->where(id,,1)->select…

【Qt记录】Windows 窗口层级(Z-order)

功能&#xff1a;软件有一个提示弹窗&#xff0c;希望让他永远在最上面&#xff0c;保证该窗口在任何情况下不会被遮挡。 由上面的问题就查找对应的api找到了SetWindowPos()。 在说这个函数之前&#xff0c;先了解以下概念&#xff1a; Z-order&#xff08;Z顺序&#xff09…

6. SpringBoot 整合 RabbitMQ

二八佳人体似酥&#xff0c;腰间仗剑斩愚夫。虽然不见人头落&#xff0c;暗里教君骨髓枯。 创建一个 普通的 Spring Boot Web 项目 整合 RabbitMQ pom.xml 添加依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-st…

【云原生】一文带你吃透FlexManager数据传入华为云IOT

文章目录一、华为云设备接入服务1、创建设备接入基础版2、创建产品实例3、在产品下创建设备实例二、FlexManager部署一、华为云设备接入服务 设备接入服务&#xff08;IoTDA&#xff09;是华为云的物联网平台&#xff0c;提供海量设备连接上云、设备和云端双向消息通信、批量设…

【Linux】守护进程

文章目录任务管理进程组作业会话任务管理操作相关操作守护进程创建守护进程daemon函数创建守护进程所谓的项目部署任务管理 进程组 进程组是一个或多个进程的集合。每个进程除了有一个进程ID之外&#xff0c;还属于一个进程组。 每个进程组有一个唯一的进程组ID。每个进程组都…