Ответ 1
- Вывести из
QAbstractSpinBox
. - Добавьте
QValidator
вQLineEdit
только для допустимых значений int64. - Добавьте свойство с именем
value
, чтобы предоставить доступ к члену int64, который фактически сохраняет значение. - Reimplment
stepBy(int steps)
, чтобы изменить номер. - Внедрите интересующие вас методы и свойства, относящиеся к
QSpinBox
(минимальные/максимальные пределы, префикс, суффикс и т.д.).
По существу, вы поддерживаете два состояния: одно является фактическим значением int64, другое - текстом, хранящимся в QLineEdit
. Обычно это просто обновляется:
lineEdit()->setText(QString::number(myNumber));
Но это нужно немного подкорректировать, если пользователь хочет префикс или суффикс.