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);
}
相关推荐
我命由我123451 小时前
微信小程序开发 - 为 tap 事件的处理函数传递数据
开发语言·前端·javascript·微信小程序·小程序·前端框架·js
故事不长丨7 小时前
C#定时器与延时操作的使用
开发语言·c#·.net·线程·定时器·winform
hefaxiang7 小时前
C语言常见概念(下)
c语言·开发语言
“αβ”7 小时前
MySQL表的操作
linux·网络·数据库·c++·网络协议·mysql·https
欧阳天风7 小时前
js实现鼠标横向滚动
开发语言·前端·javascript
十五年专注C++开发8 小时前
Asio2: 一个基于 Boost.Asio 封装的高性能网络编程库
网络·c++·boost·asio·asio2
gcfer8 小时前
CS144 中的C++知识积累
c++·右值引用·智能指针·optional容器
yue0088 小时前
C# Directory的用法介绍
开发语言·c#
雨落秋垣8 小时前
手搓 Java 的用户行为跟踪系统
java·开发语言·linq
Bona Sun9 小时前
单片机手搓掌上游戏机(二十)—pico运行doom之编译环境
c语言·c++·单片机·游戏机