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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Корректная кодировка  (Прочитано 4590 раз)
mcrads
Гость
« : Декабрь 24, 2009, 19:22 »

Возможно вопрос тупой и нубский, но в книжках не нашел....
Как заставить Qt корректно отображать русские буквы? поясню. Когда я в дизайнере и пр. методами конструирую GUI -элементы и даю им русские подписи - все в порядке. но вот например для QPlainTextEdit::setPlainText() это не действует - на области я получаю только каракули. как с этим бороться?Непонимающий
Записан
poops
Гость
« Ответ #1 : Декабрь 24, 2009, 19:39 »

QTextCodec не оно случаем?
Записан
poops
Гость
« Ответ #2 : Декабрь 24, 2009, 19:47 »

Если текст из файла, то поидее кодировка должна совпадать с системной и всё ок. Если передаёте константу типа:
plainTextEdit->setPlainText("бла-бла-бла"), то должно быть типа так:
Код:
    ........
    plainTextEdit->setPlainText(tr("бла-бла-бла"));
    ........
а в функции main() или конструкторе главного окна:
Код:
   QTextCodec *tc =QTextCodec::codecForName("CP1251");//Для ms windows
   QTextCodec::setCodecForTr(tc);
Записан
mcrads
Гость
« Ответ #3 : Декабрь 24, 2009, 20:07 »

Код:
   QTextCodec *tc =QTextCodec::codecForName("CP1251");//Для ms windows
   QTextCodec::setCodecForTr(tc);

Вот это мне и нужно кажется =) спасибо, попробую =)
Записан
Dendy
Гость
« Ответ #4 : Декабрь 25, 2009, 00:54 »

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


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