Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Caduceus от Января 25, 2012, 23:21



Название: Как разрешить вводить в QLineEdit только латинские буквы и цифры?
Отправлено: Caduceus от Января 25, 2012, 23:21
Без переопределния класса QLineEdit.
Я так понимаю можно через регулятрые выражения и валидаторы?
Сделал вот так
Код:
QRegExp rx("[A-Za-z0-9]");
ui->NameEdit->setValidator (new QRegExpValidator (rx, this));
Не помогло - все равно ввожу что хочу


Название: Re: Как разрешить вводить в QLineEdit только латинские буквы и цифры?
Отправлено: kambala от Января 26, 2012, 00:02
4.8.0: у меня всё работает - разрешается ввод любой латинской буквы или цифры в количестве 1 шт.


Название: Re: Как разрешить вводить в QLineEdit только латинские буквы и цифры?
Отправлено: spirits25 от Января 26, 2012, 08:18
Без переопределния класса QLineEdit.
Я так понимаю можно через регулятрые выражения и валидаторы?
Сделал вот так
Код:
QRegExp rx("[A-Za-z0-9]");
ui->NameEdit->setValidator (new QRegExpValidator (rx, this));
Не помогло - все равно ввожу что хочу

Допустим надо не более 2-х символов только латинские буквы и цифры:
Код:
        two_words = QLineEdit()
        rx = QtCore.QRegExp ("^[a-zA-Z0-9]{0,2}$")
        two_words_validator = QtGui.QRegExpValidator(rx)
        two_words.setValidator(two_words_validator)
У меня норм всё. Ты регулярку ограничь ^ и $. Может в этом дело.


Название: Re: Как разрешить вводить в QLineEdit только латинские буквы и цифры?
Отправлено: QtCoder от Января 27, 2012, 06:33
[a-zA-Z0-9]*


Название: Re: Как разрешить вводить в QLineEdit только латинские буквы и цифры?
Отправлено: kambala от Января 27, 2012, 12:20
звёздочка тут никакой роли не играет. вариант с заключением между ^$ получше будет, хотя тоже сомневаюсь, что поможет автору.


Название: Re: Как разрешить вводить в QLineEdit только латинские буквы и цифры?
Отправлено: sudo от Января 27, 2012, 17:55
Как QtCoder, собственно, и написал
Код:
lineEdit->setValidator(new QRegExpValidator(QRegExp("[A-Za-z\\d]+"), this));
Или не +, а звездочка, в данном случае разницы не будет

Рекомендую иметь на столе это http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/ (http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/)


Название: Re: Как разрешить вводить в QLineEdit только латинские буквы и цифры?
Отправлено: spirits25 от Января 30, 2012, 14:16
а это
Код:
[a-zA-Z0-9]{0,2}
было не то же самое? или любое число - *, или конкретное, от этого не меняется особо ничего=)