Установите QLineEdit для приема только чисел
у меня есть QLineEdit
где пользователь должен вводить только цифры.
Так что есть только цифры настройки для QLineEdit
?
5 ответов:
QLineEdit::setValidator()
, например:myLineEdit->setValidator( new QIntValidator(0, 100, this) );
или
myLineEdit->setValidator( new QDoubleValidator(0, 100, 2, this) );
посмотреть: QIntValidator,QDoubleValidator,QLineEdit::setValidator
лучше
QSpinBox
.и для двойного значения используйте
QDoubleSpinBox
.QSpinBox myInt; myInt.setMinimum(-5); myInt.setMaximum(5); myInt.setSingleStep(1);// Will increment the current value with 1 (if you use up arrow key) (if you use down arrow key => -1) myInt.setValue(2);// Default/begining value myInt.value();// Get the current value //connect(&myInt, SIGNAL(valueChanged(int)), this, SLOT(myValueChanged(int)));
вы также можете установить
inputMask
:QLineEdit.setInputMask("9")
это позволяет пользователю вводить только одну цифру в диапазоне от
0
до9
. Используйте несколько9
's, чтобы позволить пользователю вводить несколько номеров. Смотрите также полный список символов, которые могут быть использованы в маске ввода.(мой ответ на Python, но это не должно быть трудно преобразовать его в C++)