QLineEdit принимать только один символ / цифру
Я хочу иметь QLineEdit
который принимает только символ или цифру. Есть ли возможность установить его как в html входе, чтобы иметь maxlength
? Я имею в виду сделать это из конструктора QLineEdit
?
Мне не нужно что-то сложное...
3 ответа
Решение
Все в точности так, как вы хотели. QLineEdit
имеет maxLength
имущество. Вы устанавливаете его либо с помощью системы свойств, либо с помощью метода setter:
QLineEdit le;
le.setMaxLength(1);
Вот и все.
Мне не нужно что-то сложное...
К сожалению, это нельзя назвать простым решением, но вам следует сообщить о QRegExpValidator.
Пример использования:
#include <QRegExpValidaor>
#include <QLineEdit>
...
...
QRegExp rx ("\\w");
QRegExpValidator * v = new QRegExpValidator (rx, this);
QLineEdit * le = new QLineEdit (this);
le->setValidator (v);
Вот альтернативный способ ограничения ввода редактирования строки одним символом / цифрой:
QLineEdit le;
le.setInputMask("N");
le.show();
Более подробную информацию об использовании маски ввода смотрите в документации Qt.