Qt常用控件之微调框QSpinBox

微调框QSpinBox

QSpinBox 是一个微调框控件,它是一个带有按钮的输入框,可以用来输入整数修改或点击按钮修改数值大小。

QDoublieSpinBoxQSpinBox浮点数版本。

1. QSpinBox属性

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

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);
    ui->comboBox->addItem("双层吉士堡");
    ui->comboBox->addItem("那么大鸡排(辣)");
    ui->comboBox->addItem("麦香鸡");

    ui->comboBox_2->addItem("香芋派");
    ui->comboBox_2->addItem("菠萝派");

    ui->comboBox_3->addItem("百事可乐");
    ui->comboBox_3->addItem("可口可乐");
    ui->comboBox_3->addItem("雪碧");

    ui->spinBox->setValue(1);
    ui->spinBox->setRange(1,3);

    ui->spinBox_2->setValue(1);
    ui->spinBox_2->setRange(1,3);

    ui->spinBox_3->setValue(1);
    ui->spinBox_3->setRange(1,3);
}

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


void Widget::on_pushButton_clicked()
{
    QString content = ui->label_result->text();
    content+=ui->comboBox->currentText()+": "+QString::number(ui->spinBox->value())+"个 ";
    content+=ui->comboBox_2->currentText()+": "+QString::number(ui->spinBox_2->value())+"个 ";
    content+=ui->comboBox_3->currentText()+": "+QString::number(ui->spinBox_3->value())+"个 ";

    qDebug()<<content;
    ui->label_result->setText(content);
}
相关推荐
m0_7269659833 分钟前
面面面,面面(1)
java·开发语言
Darkwanderor41 分钟前
三分算法的简单应用
c++·算法·三分法·三分算法
2401_831920741 小时前
分布式系统安全通信
开发语言·c++·算法
~无忧花开~1 小时前
React状态管理完全指南
开发语言·前端·javascript·react.js·前端框架
2401_877274241 小时前
从匿名管道到 Master-Slave 进程池:Linux 进程间通信深度实践
linux·服务器·c++
汉克老师2 小时前
GESP5级C++考试语法知识(八、链表(三)循环链表)
c++·约瑟夫问题·循环链表·gesp5级·gesp五级
阿贵---2 小时前
C++中的RAII技术深入
开发语言·c++·算法
Traced back2 小时前
怎么用 Modbus 让两个设备互相通信**,包含硬件接线、协议原理、读写步骤,以及 C# 实操示例。
开发语言·c#
PiKaMouse.2 小时前
navigation2-humble从零带读笔记第一篇:nav2_core
c++·算法·机器人