QT QSpinBox 整数计数器控件 使用详解
创始人
2024-03-14 08:04:54
0

        本文详细的介绍了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     断点* @date       2022/12/2* @history*****************************************************************************/#include "mainwindow.h"#include 
#include 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     断点* @date       2022/12/2* @history*****************************************************************************/#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include 
#include #pragma execution_character_set("utf-8")QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic: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     断点* @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

相关内容

热门资讯

汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...