我需要实现一个QSpinBox
控件,它应该能够处理int64
最小值和最大值的值。当前实现仅支持int32
值。
一天结束时,我QSpinBox
应该接受 9223372036854775807 和 -9223372036854775808 之间的任何值
如果我要通过子类化来实现这一点,我需要做什么QAbstractSpinbox
?
QAbstractSpinBox
.QValidator
到QLineEdit
仅允许有效的 int64 值。value
,以提供对实际保存该值的 int64 成员的访问。stepBy(int steps)
实现修改数量。QSpinBox
(最小/最大限制、前缀、后缀等)。本质上,您要维护两种状态:一种是实际的 int64 值,另一种是QLineEdit
. 通常这只是通过以下方式更新:
lineEdit()->setText(QString::number(myNumber));
但如果用户想要前缀或后缀,则必须稍微调整一下。