QT QSpinBox 整数计数器控件 使用详解

news2024/9/26 1:17:31

        本文详细的介绍了QSpinBox控件的各种操作,例如:获取数值、设置前后缀、设置最大/小值、进制转换、关联信号槽、优化信号、QSS优化、文件源码、样式表 、效果:可以设置背景、边框、向上按钮、向下按钮 等等操作。

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

QT QSpinBox 整数计数器控件(使用详解)目录

1 新建界面

2 获取数值

3 设置前后缀

4 设置最大/小值

5 进制转换

 6 关联信号槽

7 优化信号

8 QSS优化

 9 main.cpp

10 mainwindow.h

11 mainwindow.cpp

12 样式表

13 扩展链接

14 其它文章 :


1 新建界面

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

2 获取数值

        主要用到了 value() 函数

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

3 设置前后缀

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

/* 设置前缀 */
void MainWindow::on_pushButton_2_clicked()
{
    ui->spinBox->setPrefix(ui->lineEdit->text());              //设置前缀
}

/* 设置后缀 */
void MainWindow::on_pushButton_3_clicked()
{
    ui->spinBox->setSuffix(ui->lineEdit->text());              //设置后缀
}

4 设置最大/小值

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

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

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

5 进制转换

        主要用到了 setDisplayIntegerBase() 函数

/* 进制转换 */
void MainWindow::on_pushButton_6_clicked()
{
    ui->spinBox_2->setDisplayIntegerBase(2);
    ui->spinBox_2->setValue(ui->spinBox->value());
    ui->spinBox_3->setDisplayIntegerBase(16);
    ui->spinBox_3->setValue(ui->spinBox->value());
}

 6 关联信号槽

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

void slotSpinBox();

connect(ui->spinBox, SIGNAL(valueChanged(int)), this, SLOT(slotSpinBox()));

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

7 优化信号

        步骤5中,如果要输入50,第一次变动会弹出5,加完0后会弹出50

ui->spinBox->setKeyboardTracking(false);

加入效果:

不加入效果:

8 QSS优化

        效果:可以设置背景、边框、向上按钮、向下按钮

 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    QSpinBox_test
 * @version    V 1.0
 *
 * @author     断点<dream.2017@qq.com>
 * @date       2022/12/2
 * @history
 *****************************************************************************/

#include "mainwindow.h"

#include <QApplication>
#include <QFile>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;

    QString qss;
    QFile qssFile("D:/PNG/myqss.qss");
    qssFile.open(QFile::ReadOnly);

    if(qssFile.isOpen())
    {
        qss = QLatin1String(qssFile.readAll());
        qApp->setStyleSheet(qss);
        qssFile.close();
    }
    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       mainwindow.h
 * @project    QSpinBox_test
 * @version    V 1.0
 *
 * @author     断点<dream.2017@qq.com>
 * @date       2022/12/2
 * @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_2_clicked();

    void on_pushButton_3_clicked();

    void on_pushButton_4_clicked();

    void on_pushButton_5_clicked();

    void on_pushButton_6_clicked();

    void slotSpinBox();
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       mainwindow.cpp
 * @project    QSpinBox_test
 * @version    V 1.0
 *
 * @author     断点<dream.2017@qq.com>
 * @date       2022/12/2
 * @history
 *****************************************************************************/

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

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

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

    //ui->spinBox->setKeyboardTracking(false);
    connect(ui->spinBox, SIGNAL(valueChanged(int)), this, SLOT(slotSpinBox()));

}

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

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

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


/* 设置前缀 */
void MainWindow::on_pushButton_2_clicked()
{
    ui->spinBox->setPrefix(ui->lineEdit->text());
}

/* 设置后缀 */
void MainWindow::on_pushButton_3_clicked()
{
    ui->spinBox->setSuffix(ui->lineEdit->text());
}

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

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

/* 进制转换 */
void MainWindow::on_pushButton_6_clicked()
{
    ui->spinBox_2->setDisplayIntegerBase(2);
    ui->spinBox_2->setValue(ui->spinBox->value());
    ui->spinBox_3->setDisplayIntegerBase(16);
    ui->spinBox_3->setValue(ui->spinBox->value());
}


12 样式表

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

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

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

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

13 扩展链接

        全部资源下载链接: https://download.csdn.net/download/qq_37529913/87232939

14 其它文章 :

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

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

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

相关文章

安装dolphinscheduler

四种安装方式&#xff0c;机器有限&#xff0c;最后选的伪集群安装&#xff0c;所有都装在一台机器上。 安装手册 需要依次安装 JDK&#xff1a;下载JDK (1.8)&#xff0c;安装并配置 JAVA_HOME 环境变量&#xff0c;并将其下的 bin 目录追加到 PATH环境变量中。如果你的环境…

[附源码]Python计算机毕业设计SSM居民个人健康服务平台(程序+LW)

项目运行 环境配置&#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…

能耗物联网的入口—计量监测解决方案价值解析

能耗物联网的入口—计量监测解决方案价值解析 在双碳政策支持下&#xff0c;有着众多头部企业的引领&#xff0c;能源物联网呈现蓬勃发展势头。 然而作为该领域内占有重要位置的海量用电设备&#xff0c;其运行状态、设备利用率均是未知的&#xff0c;绝大多数用电设备仍未联网…

CTFHUB-web-文件上传

无验证 上传一句话木马 <?php eval($_POST[attack]) ?>蚁剑添加数据&#xff0c;密码为attack 成功连接 找到flag flag&#xff1a; ctfhub{5d24093c73fddbba912490b6} 前端验证 还是传那个一句话木马&#xff0c;不允许上传 只能上传指定后缀的文件&#xff0c;所以可…

如何在Centos8中添加附加的IP

有时可能需要为 CentOS 8 系统上的单个网卡分配附加的 IP 地址。例如应用程序要求或 SSL 证书的安装。在本文中&#xff0c;我们将解释如何在 CentOS 7/8 中添加附加或多个 IP 地址。 方法一&#xff1a;手动添加附加IP 在原网卡配置文件中添加附加IP 在继续配置辅助 IP 之前…

Kotlin高仿微信-第32篇-支付-我的零钱

Kotlin高仿微信-项目实践58篇详细讲解了各个功能点&#xff0c;包括&#xff1a;注册、登录、主页、单聊(文本、表情、语音、图片、小视频、视频通话、语音通话、红包、转账)、群聊、个人信息、朋友圈、支付服务、扫一扫、搜索好友、添加好友、开通VIP等众多功能。 Kotlin高仿…

opencv入门笔记(一)

目录图像处理基本操作图像读取图像显示图像保存图像翻转图像缩放如何绘制简单的图形绘制线段示例&#xff08;在画布上绘制线段&#xff09;绘制矩形示例&#xff08;标记图片中的花朵位置&#xff09;绘制圆形示例&#xff08;同心圆绘制&#xff09;绘制多边形示例&#xff0…

Linux4._冯•诺依曼体系结构

文章目录[toc]1. 硬件结构2. 工作方式3. 存储器结构4. 局部性原理5. 实例分析早期的 ENIAC 计算机存储容量很小&#xff0c;编程采用线路连接方式&#xff0c;很不方便。1946年&#xff0c;数学家 冯•诺依曼 提出了以存储程序为核心的计算机模型&#xff0c;该计算机模型一直沿…

[附源码]计算机毕业设计在线影院系统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…

Java8用Stream流一行代码实现数据分组统计,排序,最大值、最小值、平均值、总数、合计

Java8对数据处理可谓十分流畅&#xff0c;既不改变数据&#xff0c;又能对数据进行很好的处理&#xff0c;今天给大家演示下&#xff0c;用Java8的Stream如何对数据进行分组统计&#xff0c;排序&#xff0c;求和等 汇总统计方法 找到汇总统计的方法。这些方法属于java 8的汇…

wsl2如何安装systemctl命令,已成功!

打开powershell&#xff0c; 输入wsl 进入子系统(或者以你自己的方式进入子系统) apt install policykit-1 apt install build-essential apt install daemonize cd /tmp git clone http://github.com/bmc/daemonize.git cd daemonize sh configure make sudo make ins…

论文笔记:OpenPrompt: An Open-source Framework for Prompt-learning

论文来源&#xff1a;ACL2022 论文地址&#xff1a;https://aclanthology.org/2022.acl-demo.10.pdf 论文代码&#xff1a;https://github.com/thunlp/OpenPrompt 笔记仅供参考&#xff0c;撰写不易&#xff0c;请勿恶意转载抄袭&#xff01; Abstract 目前&#xff0c;还没…

Flink系列之Flink中Source_Transform_Sink整理和实战

title: Flink系列 二、Flink Source 整理和实战 Flink Source 是程序的数据源输入&#xff0c;可以通过 StreamExecutionEnvironment.addSource(sourceFunction) 来为你的程序添加一个 Source。 Flink 提供了大量的已经实现好的 source 方法&#xff0c;也可以自定义 source&…

译文 | A poor man‘s API

作者&#xff1a;Nicolas Frnkel 翻译&#xff1a;Sylvia https://blog.frankel.ch/poor-man-api/ 在 API 日渐流行的年代&#xff0c;越来越多的非技术人员也希望能从 API 的使用中获利&#xff0c;而创建一套成熟的 API 方案需要时间成本和金钱两方面的资源加持。在这个过程中…

2022re:Invent:亚马逊云科技拥有强大的云原生数据能力

在2022亚马逊云科技re:Invent全球大会上的第三天&#xff0c;Swami博士为大家带来了关于“数据与机器学习如何助力企业构建端到端的数据战略”的解读。亚马逊云科技拥有强大的云原生数据能力&#xff0c;用来帮助企业扩展其数据库和数据分析服务&#xff0c;并确保数据安全与数…

汽车电子电气架构演进驱动主机厂多重变化

已剪辑自: https://mp.weixin.qq.com/s/P56MaFODVc_eZ4JEOVJvfA 汽车电子电气架构&#xff08;EEA&#xff0c;Electrical/Electronic Architecture&#xff09;把汽车中的各类传感器、ECU&#xff08;电子控制单元&#xff09;、线束拓扑和电子电气分配系统整合在一起完成运算…

[附源码]计算机毕业设计JAVA校园求职与招聘系统

[附源码]计算机毕业设计JAVA校园求职与招聘系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM myba…

【Matplotlib绘制图像大全】(二十一):Matplotlib为绘图添加注释

前言 大家好,我是阿光。 本专栏整理了《Matplotlib绘制图像大全》,内包含了各种常见的绘图方法,以及Matplotlib各种内置函数的使用方法,帮助我们快速便捷的绘制出数据图像。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmMatp…

Maven 的安装与配置

文章目录Maven 简介一&#xff0c;下载Maven二&#xff0c;安装Maven三&#xff0c;配置Maven环境变量Maven 简介 Maven 项目对象模型(POM)&#xff0c;可以通过一小段描述信息来管理项目的构建&#xff0c;报告和文档的项目管理工具软件。 Maven 除了以程序构建能力为特色之…

C/C++使用Windows的API实现共享内存以及同步

目录共享内存事件-Event实现思路创建方(服务端)连接方&#xff1a;进程同步&#xff1a;windows的APICreateFileMappingMapViewOfFileCreateEventWaitForSingleObjectCreateThreadOpenFileMapping通过共享内存实现进程间的交互服务端客户端结论共享内存 共享内存指 (shared me…