Qt扫盲-QSpinBox理论总结

本文详细介绍了QSpinBox控件的功能及使用方法,包括其在处理整数数据集方面的优势、如何通过不同方式调整数值、与数值变化相关的信号机制以及如何定制外观特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 简述

QSpinBox 主要是在处理整数和离散数据集(如年龄之类的整数);而对于浮点数据的处理的话用的是 QDoubleSpinBox。
QSpinBox 其实就是一个输入框带有 加减的按钮组,方便调值,当然为了方便,肯定是绑定了鼠标滚轮调值、键盘上下调值的功能哈。和QLineEdit 的用处基本一致,用来接收用户的输入数据。
在这里插入图片描述

2. 调值与值转换

QSpinBox 允许用户通过 单击上/下按钮按键盘上的上/下键来增加/减少 或者 鼠标滚轮前后滚动 来增加/减少 当前显示的值,可以看出有三种内置的方式。

同时,也是支持用户也可以手动输入值。

QSpinBox 的当前值可以用 value() 获取并用 setValue() 设置。QSpinBox 支持QString和int格式转换,以便不自己在去调用QString 的方法做转化:textFromValue() 和 valueFromText() 。

我们还可以定义步长,也就是 单击向上/向下按钮或使用键盘快捷键的向上和向下箭头将以 singleStep() 大小的步长增加或减少当前值。 QSpinBox 也提供了 setMinimum()、setMaximum() 和 setSingleStep() 函数来调整这个QSpinBox的最大值最小值和步长进行更改。

大多数QSpinBox 是有方向的,但 QSpinBox 也可以作为圆形 QSpinBox 操作,即如果范围为 0-99 且当前值为 99,如果 wrapping() 设置为 true,则单击“向上”将给出 0。 如果想要循环行为,请使用 setWrapping() 。其实就是说 到最大值时的下一个可不可以继续从 最小值开始再增长。

3. 信号

每次值更改时,QSpinBox 都会发出 valueChanged() 和 textChanged() 信号,前者提供一个 int,后者提供一个 QString。 textChanged() 信号提供带有 prefix() 和 suffix() 的值。

4. 修饰&外观

显示的值可以在前面和后面附加任意字符串(包括空格哈),例如货币或测量单位。 请参见 setPrefix() 和 setSuffix()。 QSpinBox 中的文本使用 text()(包括任何 prefix() 和 suffix())或使用 cleanText()(没有 prefix()、没有 suffix() 并且没有前导或尾随空格)获取到值。就像这种
在这里插入图片描述

同时,我们也可以使用QAbstractSpinBox 的 是否启用 按钮和按钮特色 是 setButtonSymbols()

Constant描述
QAbstractSpinBox::UpDownArrows箭头
QAbstractSpinBox::PlusMinus加减号
QAbstractSpinBox::NoButtons不要按钮显示

这个是fusion上面的样子
在这里插入图片描述

在Windows上有些好像不能用,但是也不要紧,可以用QSS来弄
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

太阳风暴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值