60常用控件_QSpinBox的使用

目录

代码示例:调整麦当劳购物车中的份数


使⽤ QSpinBox 或者 QDoubleSpinBox 表⽰ "微调框", 它是带有按钮的输⼊框. 可以⽤来输⼊整
数/浮点数. 通过点击按钮来修改数值⼤⼩.
由于 SpinBox 和 QDoubleSpinBox ⽤法基本相同, 就只介绍 SpinBox 的使⽤了
Spin 英⽂原意为 "旋转". 此处引申成 "微调".
事实上很多术语在翻译的时候, 不⼀定⾮要按照原始的翻译来表⽰, 更追求的是 "信达雅".
举个例⼦, 地铁上的 "Priority Seat" 会翻译成 "爱⼼专座", ⽽不是 "优先座位"
QSpinBox 关键属性

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

核⼼信号

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

代码示例:调整麦当劳购物车中的份数

1)在界面上创建下列内容

三个下拉框:objectName为comboBox到comboBox_3

三个微调框:objectName为spinBox到spinBox_3

一个按钮:objectName为pushButton

  1. 编写代码, 修改 widget.cpp, 给下拉框设置初始值.
  1. 编写代码, 给按钮添加 slot 函数


4) 执⾏程序, 可以看到当⽤⼾选择不同的内容时, 点击按钮就能获取到对应的结果. 同时我们也⽆法输⼊ ⼀些超出范围的⾮法值.

点击按钮,数字就会发生"微调"

Spin Box 微调框

Spin 旋转

翻译英文要符合场景

"爱心专座":Priority Seat

相关推荐
妙为8 小时前
银河麒麟V4下编译Qt5.12.12源码
c++·qt·国产化·osg3.6.5·osgearth3.2·银河麒麟v4
史迪仔011211 小时前
[QML] QML IMage图像处理
开发语言·前端·javascript·c++·qt
小樱花的樱花16 小时前
打造高效记事本:UI设计到功能实现
开发语言·c++·qt·ui
丁劲犇16 小时前
QMetaObject的invokeMethod异步阻塞调用在MCPServer开发中的巧妙应用
qt·ai·agent·异步·阻塞·mcp·mcp server
m0_4972141518 小时前
Qt事件系统
开发语言·qt
秋月的私语19 小时前
遥感影像拼接线优化工具:基于Qt+GDAL+OpenCV的从零到一实践
开发语言·qt·opencv
姓刘的哦20 小时前
Qt自定义控件
开发语言·qt
AlanW20 小时前
Qt Model/View 框架完全指南:从入门到性能优化
qt
艾莉丝努力练剑1 天前
【QT】Qt常用控件与布局管理深度解析:从原理到实践的架构思考
linux·运维·服务器·开发语言·网络·qt·架构
Z文的博客1 天前
嵌入式 ARM 设备交叉编译 mosquitto 2.0.20 (完整 TLS 支持) 详细教程 TRAE全程辅助,没敲一行代码
qt·mqtt·嵌入式·ai编程·mosquitto·嵌入式linux·trae