Qt常用控件——QSpinBox

发布于:2024-09-17 ⋅ 阅读:(154) ⋅ 点赞:(0)

QSpinBox核心属性及信号

QSpinBox或者QDoubleSpinBox表示微调框,带有按钮的输入框,可以用来输入整数/浮点数或者通过点击按钮调整数值大小

QSpinBoxQDoubleSpinBox用法基本相同,本篇以QSpinBox为例

核心属性

核心属性 说明
value 存储的数值
singleStep 每次调整的“步长”(按一下按钮调整多少)
displayInteger 数字的进制
minimum 最小值
maximum 最大值
suffix 后缀
prefix 前缀
wrapping 是否允许换行
frame 是否允许边框
alignment 文字对齐方式
readOnly 是否允许修改
buttonSymbol 按钮上的图标:
UpDownArrows上下箭头形式
PlusMinus加减号形式
NoButtons没有按钮
accelerated 按下按钮时是否为快速调整模式
corretionMode 输入有误时,如何修正:
QAbstractSpinBox::CorrectToPreviousValue:如果输入无效值,恢复到上一个有效值
QAbstractSpinBox::CorrectToNearestValue:如果输入无效值,恢复到接近有效的值
keyboardTrack 是否开启键盘跟踪:
true:每次在输入框输入一个数字,都会触发一次valueChanged()textChanged()信号
false:只有在最终按下enter或者输入框失去焦点时,才会触发valueChanged()textChanged()

核心信号:

信号 说明
textChanged(QString) 微调框的文本发生变化的时候触发
参数QString带有前缀和后缀
valueChanged(int) 微调框的文本发生改变时触发
参数int表示当前数值

点餐示例

通过下拉框选择食物种类,通过微调框选择数量

界面设置:

image-20240915155813376

代码示例:

#include "widget.h"
#include "ui_widget.h"
#include<QDebug>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //初始化下拉菜单
    ui->comboBox->addItem("米饭");
    ui->comboBox->addItem("馒头");
    ui->comboBox->addItem("面包");

    ui->comboBox_2->addItem("鱼香肉丝");
    ui->comboBox_2->addItem("红烧排骨");
    ui->comboBox_2->addItem("香辣鱿鱼");

    ui->comboBox_3->addItem("紫菜汤");
    ui->comboBox_3->addItem("绿豆汤");
    ui->comboBox_3->addItem("玉米汤");

    //设定spinBox范围
    ui->spinBox->setRange(1,5);
    ui->spinBox_2->setRange(1,5);
    ui->spinBox_3->setRange(1,5);

    ui->spinBox->setValue(1);
    ui->spinBox_2->setValue(1);
    ui->spinBox_3->setValue(1);
}

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


void Widget::on_pushButton_clicked()
{
    qDebug() << "订单内容: "
             << ui->comboBox->currentText() << ":" << ui->spinBox->value()
             << ui->comboBox_2->currentText() << ":" << ui->spinBox_2->value()
             <<ui->comboBox_3->currentText() << ":" << ui->spinBox_3->value();
}

GIF 2024-9-15 16-06-50


网站公告

今日签到

点亮在社区的每一天
去签到