当前位置: 首页 > article >正文

Qt常用控件——QSpinBox

文章目录

    • QSpinBox核心属性及信号
    • 点餐示例

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


http://www.kler.cn/a/305338.html

相关文章:

  • 搭建Python2和Python3虚拟环境
  • 智能电视/盒子的应用管理——通过ADB工具优化体验
  • 【AI大模型】ELMo模型介绍:深度理解语言模型的嵌入艺术
  • 【2024最新】基于springboot+vue的闲一品交易平台lw+ppt
  • Coggle数据科学 | RAG编码模型对比:谁与OpenAI最为相似?
  • 出海攻略,如何一键保存Facebook视频素材
  • STM32的寄存器深度解析
  • Mysql的高级查询:SQL关联查询(内连接/外连接/自连接)/子查询
  • uni-app和Node.js使用uni-push2.0实现通知栏消息推送功能
  • Centos挂载和删除nfs
  • python选择排序算法
  • 基于Java+Mysql实现(web)大型企业管理系统
  • API安全测试 | Postman + BurpSuite 配置证书代理
  • chapter14-集合——(List)——day17
  • 828华为云征文|部署在线文件管理器 Spacedrive
  • 大数据-132 - Flink SQL 基本介绍 与 HelloWorld案例
  • 【LLM多模态】CogVideoX文生视频模型结构和训练过程
  • 【openGauss】检查工具gs_check,gs_checkperf的应用
  • Redisson 异步释放锁
  • 什么是485无线通信
  • 磁盘写操作压力测试工具的设计与实现
  • ChatGLM3模型搭建教程
  • OpenCV结构分析与形状描述符(20)计算一个包围给定点集的最小外接圆函数minEnclosingCircle()的使用
  • 研1日记12
  • C++系列-函数对象/仿函数
  • [网络]TCP/IP协议 之 网络层IP协议(3)