Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: Mixolap от Март 21, 2009, 22:35



Название: QRegExpValidator & кирилица [РЕШЕНО]
Отправлено: Mixolap от Март 21, 2009, 22:35
Нужна проверка правильности ввода имени пользователя при регистрации.
Имя пользователя может содержать русские и латинские буквы, цифры и _.
editName->setValidator(new QRegExpValidator( QRegExp("[a-zA-Z0-9_]+"), this)); // работает, но это без русских букв
editName->setValidator(new QRegExpValidator( QRegExp("[А-Я]+"), this)); // не работает - ничего не позволяет вводить.
Как?


Название: Re: QRegExpValidator & кирилица
Отправлено: lit-uriy от Март 22, 2009, 00:04
может обернуть строку регулярного выражения в функцию tr() ?


Название: Re: QRegExpValidator & кирилица
Отправлено: igor_bogomolov от Март 22, 2009, 02:23
И еще кодек не забыть установить :)
Код
C++ (Qt)
QTextCodec::setCodecForTr(QTextCodec::codecForName("System"));


Название: Re: QRegExpValidator & кирилица
Отправлено: Mixolap от Март 22, 2009, 11:02
Спасибо. Помогла следующая конструкция:
editName->setValidator(new QRegExpValidator( QRegExp(trUtf8("[а-яА-Яa-zA-Z0-9_]+")), this));