我需要实现一个QSpinBox
控件,该控件应该能够处理int64
值,因为它是最小值和最小值。最大值。当前实现仅支持int32
值。
我的QSpinBox
应该接受任何值之间的结束
9223372036854775807和-9223372036854775808
如果我要通过继承QAbstractSpinbox
来实现这一目标,我需要做什么?
答案 0 :(得分:12)
QAbstractSpinBox
。QValidator
添加QLineEdit
以仅允许有效的int64值。value
的属性,以提供对实际保存该值的int64成员的访问权。stepBy(int steps)
修改号码。QSpinBox
特有的方法和属性(最小/最大限制,前缀,后缀等)。基本上你保持两种状态:一种是实际的int64值,另一种是QLineEdit
所持有的文本。通常只需更新:
lineEdit()->setText(QString::number(myNumber));
但如果用户需要前缀或后缀,则必须稍微调整一下。