Проверка QLineEdit для ввода текста {[AZ] [az] [0-9]} - PullRequest
3 голосов
/ 06 марта 2011

Я хочу принять новое имя пользователя от пользователя в моем приложении.Я хочу, чтобы строка имени пользователя содержала только A-Z или a-z или 0-9, и имела maxLength 8. Поэтому я хочу проверить ввод от QLineEdit.Я просмотрел документацию, но меня перепутали с валидаторами.Как я могу подтвердить свои QLineEdit для этой цели?

1 Ответ

7 голосов
/ 06 марта 2011

Вы можете использовать setInputMask , чтобы указать маску ввода проверки, в вашем случае вы можете использовать "N" или "n", чтобы разрешить только символы в диапазоне AZ, az и 0-9.:

lineEdit->setInputMask("nnnnnnnn;_"); // or NNNNNNNN;_
lineEdit->setCursorPosition(0);

Вы также можете установить QValidator экземпляр на lineEdit через набор setValidator. Это устанавливает lineEdit только напринять ввод, который примет валидатор. Это будет работать в сочетании с масками редактирования

Если вам нужно ограничить только максимально допустимую длину строки редактирования: используйте setMaxLength

lineEdit->setMaxLength(8);

надеюсь, это поможет, с уважением

...