Qt常用控件之QSpinBox

Qt常用控件之QSpinBox

🌟🌟hello,各位读者大大们你们好呀🌟🌟

🚀🚀系列专栏:【Qt的学习】

📝📝本篇内容:QSpinBox的基本概念;QSpinBox的使用

⬆⬆⬆⬆上一篇:Qt常用控件之QComboBox

💖💖作者简介:轩情吖,请多多指教(>> •̀֊•́ ) ̖́-

1.QSpinBox的基本概念

QSpinBox是一个微调框,它是一个带有按钮的输入框,可以用来输入整数,通过按钮来微调数值的大小

还有一个QDoubleSpinBox控件,其实和QSpinBox差不多,只不过它是用来输入浮点数的

函数声明 函数说明
int value() const 获取存储的数值
void setValue(int val); 设置微调框的初始值
void setSingleStep(int val) 设置"步长",即按下按钮调整多少
int singleStep() const 获取"步长"
void setMaximum(int max) 设置最大值
void setMinimum(int min) 设置最小值
void setPrefix(const QString &prefix) 设置前缀
void setSuffix(const QString &suffix) 设置后缀,例如单位
void setWrapping(bool w) 设置是否允许换行
void setReadOnly(bool r) 设置是否是只读
void setFrame(bool) 设置是否带边框
void setAlignment(Qt::Alignment flag) 设置文字对齐方式
void setButtonSymbols(ButtonSymbols bs) 设置按钮图标,UpDownArrows是上下箭头形式, PlusMinus是加减号形式, NoButtons是没有按钮
void setAccelerated(bool on) 设置调节按钮是否为快速模式,按住箭头会逐渐加快数值变化的速度
void setCorrectionMode(CorrectionMode cm) 设置输⼊有误时如何修正;QAbstractSpinBox::CorrectToPreviousValue : 如果用户输⼊了⼀个⽆效的值(例如,在只能显示正整数的SpinBox中输⼊了负数),那么SpinBox会恢复为上⼀个有效值。例如,如果SpinBox的初始值是1,用户输⼊了-1(⽆效),然后SpinBox会恢复为1;QAbstractSpinBox::CorrectToNearestValue : 如果用户输⼊了⼀个⽆效的值,SpinBox会恢复为最接近的有效值。例如,如果SpinBox的初始值是1,用户输⼊了-1(⽆效),那么SpinBox会恢复为0
void setKeyboardTracking(bool kt) 是否开启键盘跟踪;设为 true,每次在输⼊框输⼊⼀个数字, 都会触发⼀次 valueChanged() 和textChanged() 信号;设为 false,只有在最终按下 enter 或者输⼊框失去焦点, 才会触发valueChanged() 和 textChanged() 信号

接下来是信号部分

信号声明 信号说明
void textChanged(const QString &text) 微调框的⽂本发⽣改变时会触发,参数QString带有前缀和后缀
void valueChanged(int i) 微调框的⽂本发⽣改变时会触发,参数 int,表示当前的数值

2.QSpinBox的使用

通过这个控件,我们可以在之前写的点餐小程序上进行完善,在每一个下拉框后面设置一个微调框,来表示数量

cpp 复制代码
#include "widget.h"
#include "ui_widget.h"
#include <QDebug>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    QFont font;
    //设置文本大小
    font.setPointSize(15);
    ui->label->setFont(font);
    ui->label_2->setFont(font);
    ui->label_3->setFont(font);

    //给下拉框设置条目
    ui->comboBox->addItem("麦辣鸡腿堡");
    ui->comboBox->addItem("巨无霸");
    ui->comboBox->addItem("培根酥脆双层牛堡");

    ui->comboBox_1->addItem("炸鸡");
    ui->comboBox_1->addItem("薯条");
    ui->comboBox_1->addItem("土豆泥");

    ui->comboBox_2->addItem("可乐");
    ui->comboBox_2->addItem("牛奶");
    ui->comboBox_2->addItem("咖啡");

    //设置微调框的数量限制
    ui->spinBox->setMinimum(1);
    ui->spinBox->setMaximum(5);

    ui->spinBox_1->setMinimum(1);
    ui->spinBox_1->setMaximum(5);

    ui->spinBox_2->setMaximum(1);
    ui->spinBox_2->setMaximum(5);

    //设置微调框的初始值
    ui->spinBox->setValue(1);
    ui->spinBox_1->setValue(1);
    ui->spinBox_2->setValue(1);

}

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


void Widget::on_pushButton_clicked()
{
    qDebug()<<ui->comboBox->currentText()<<":"<<ui->spinBox->value();
    qDebug()<<ui->comboBox_1->currentText()<<":"<<ui->spinBox_1->value();
    qDebug()<<ui->comboBox_2->currentText()<<":"<<ui->spinBox_2->value();

}


🌸🌸Qt常用控件之QSpinBox大概就讲到这里啦,博主后续会继续更新更多Qt的相关知识,干货满满,如果觉得博主写的还不错的话,希望各位小伙伴不要吝啬手中的三连哦!如有小伙伴需要Qt的安装包可以私信我,你们的支持是博主坚持创作的动力!💪💪

相关推荐
.痞老板.36 分钟前
java ee--计算机是如何工作的
java·开发语言·java-ee
奇树谦40 分钟前
Qt Quick 图片加载与 GPU 纹理机制详解:QImage、QQuickTextureFactory、QSGTexture 与异步加载
开发语言·qt·系统架构
青梅味猪大肠1 小时前
【操作系统-60】临近适应算法
java·linux·开发语言·嵌入式硬件·算法·操作系统
starzy19902 小时前
深入理解Scala可变Map:动态构建场景下的性能与设计权衡
开发语言·scala
zhanghaha13143 小时前
C# 系列教程_7 判断语句(分支)保姆级精讲
开发语言·c#
apcipot_rain3 小时前
C++转Java日记(02)
java·开发语言·c++
杜 硕4 小时前
从零开始的C++生活——第七讲——02
开发语言·c++·生活
zhanghaha13144 小时前
C# 系列教程_8 循环语句 保姆级精讲(面向新手)
开发语言·c#
Rabitebla12 小时前
【Linux 底层原理】进程(十):进程等待详解---从僵尸进程到 wait、waitpid 与 status
linux·c++·笔记·学习·visual studio
麦麦麦当劳大王12 小时前
【油猴脚本】Boss直聘 岗位职责复制
开发语言·前端·javascript