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