crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Русские символы в регулярных выражениях
Гость_Kovy_*
сообщение 15.12.2011, 16:46
Сообщение #1





Гости








    


Вот пишу следующий код, дающий возможность использовать в строке английские буквы. должен давать использоватьи русские, но на дает. В чем проблема? как это исправить?

m_name=new QLineEdit(this);
gd->addWidget(m_name,1,2);
QRegExp reg("[A-Za-zА-Яа-я]*");
QRegExpValidator *name = new QRegExpValidator(reg,this);
m_name->setValidator(name);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ilyabvt
  опции профиля:
сообщение 15.12.2011, 17:44
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 297
Регистрация: 23.6.2011
Пользователь №: 2765

Спасибо сказали: 45 раз(а)




Репутация:   3  


Надо поставить кодировку поддерживающую русские символы.
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Kovy_*
сообщение 15.12.2011, 19:21
Сообщение #3





Гости








    


не помогает. все равно не дает вводить русские символы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Kovy_*
сообщение 15.12.2011, 20:13
Сообщение #4





Гости








    


проблему решил постановкой кодировки, как написано выше и добавлением функции tr в регулярное выражение.
QRegExp reg(tr("[A-Za-zА-Яа-я]*"));
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Vova
  опции профиля:
сообщение 16.12.2011, 17:24
Сообщение #5


Студент
*

Группа: Новичок
Сообщений: 16
Регистрация: 23.11.2011
Пользователь №: 3023

Спасибо сказали: 0 раз(а)




Репутация:   -2  


QTextCodec::setCodecForCStrings(QTextCodec::codecForName("cp_1251"));
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 30.11.2024, 13:28