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.

Другие вопросы по тегам