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来弄