Russian Qt Forum
Май 05, 2024, 03:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QRegExpValidator и русский язык  (Прочитано 3455 раз)
dnc2rt
Гость
« : Октябрь 28, 2009, 11:38 »

Добрый день!
Появился вопрос, с которым не могу разобраться...
Код работает нормально (из книги):
Код:
  QRegExp reGroupName("[A-Za-z]{3,}");
  edGroupName->setValidator( new QRegExpValidator( reGroupName, this ) );

Но следующий код не работает как следует (использование русского языка):

Код:
  QRegExp reGroupName("[А-Яа-я]{3,}");
  edGroupName->setValidator( new QRegExpValidator( reGroupName, this ) );

Если попробовать иначе, то ответ будет выдан верный... т.е. как я понимаю проблема в QRegExpValidator ?! :

Код:
  QRegExp reTry( "ыв" );
  int i = reTry.indexIn("выв");
  qDebug() << i;

Под Windows проблем не возникло, только под Linux... может кто сталкивался?! Кодировка Utf-8.
Записан
dnc2rt
Гость
« Ответ #1 : Ноябрь 02, 2009, 12:41 »

Все, разобрался...
Ответ, например для проверки ввода (А-Я):
Код:
QRegExp reGroupName( "[\\x0410-\\x042F]{2,}" );
Записан
MoPDoBoPoT
Гость
« Ответ #2 : Ноябрь 02, 2009, 19:52 »

Эммм, а QObject::tr() + QTextCodec::setCodecForTr() не помогают?
Записан
dnc2rt
Гость
« Ответ #3 : Ноябрь 13, 2009, 20:08 »

Пробовал, но в данном случае мне подошел тот вариант. Да и в доках он описан, а я проморгал его...
А QTextCodec использую для того чтобы явно указать рабочую кодировку.
Но спасибо за ответ!!!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.055 секунд. Запросов: 21.