Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: mcrads от Декабрь 24, 2009, 19:22



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


Название: Re: Корректная кодировка
Отправлено: poops от Декабрь 24, 2009, 19:39
QTextCodec не оно случаем?


Название: Re: Корректная кодировка
Отправлено: poops от Декабрь 24, 2009, 19:47
Если текст из файла, то поидее кодировка должна совпадать с системной и всё ок. Если передаёте константу типа:
plainTextEdit->setPlainText("бла-бла-бла"), то должно быть типа так:
Код:
    ........
    plainTextEdit->setPlainText(tr("бла-бла-бла"));
    ........
а в функции main() или конструкторе главного окна:
Код:
   QTextCodec *tc =QTextCodec::codecForName("CP1251");//Для ms windows
   QTextCodec::setCodecForTr(tc);


Название: Re: Корректная кодировка
Отправлено: mcrads от Декабрь 24, 2009, 20:07
Код:
   QTextCodec *tc =QTextCodec::codecForName("CP1251");//Для ms windows
   QTextCodec::setCodecForTr(tc);

Вот это мне и нужно кажется =) спасибо, попробую =)


Название: Re: Корректная кодировка
Отправлено: Dendy от Декабрь 25, 2009, 00:54
Не пробуйте, не то попадётесь на типичное расспространение ошибок путём вредных советов. Правильный способ: в дизайнере и в коде везде и всё писать по-английски, потом переводить на русский транслятором и подгружать перевод уже во время выполнения.