我需要实现一个QSpinBox控件,它应该能够处理int64值的最小值和最大值.当前实现仅支持int32值.
一天结束我QSpinBox应该接受9223372036854775807和-9223372036854775808之间的任何值
如果我要通过子类化实现这一目标,我还需要做QAbstractSpinbox什么?
cma*_*t85 12
QAbstractSpinBox.QValidator到QLineEdit只允许有效的Int64值.value以提供对实际保存该值的int64成员的访问权限.stepBy(int steps)修改数字.QSpinBox您感兴趣的方法和属性(最小/最大限制,前缀,后缀等).基本上你维持两种状态:一种是实际的int64值,另一种是由持有的文本QLineEdit.通常这只是通过以下方式更新:
lineEdit()->setText(QString::number(myNumber));
Run Code Online (Sandbox Code Playgroud)
但如果用户需要前缀或后缀,则必须稍微调整一下.