Название: нет русских букв в приложении ПРИВЕТ МИР Отправлено: izoomer от Октябрь 30, 2006, 11:59 Не отображает русские буквы в приложени.Скомпилил стандартный hello world, на кнопке написал ПРИВЕТ МИР, запустил , а он мне каракули выдал. (код правил в миднайте)
Локаль RU_utf-8 Русский везде отображается (и в консоле и в иксах). Что не так ? добавлено спустя 14 минут: покопался в поиске и вот что нашел QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF8")); . . . QPushButton hello(QObject::tr("Привет мир")); так русские буквы есть. Подскажите, всегда ли при надобности отображения русского текста нужно вставлять перекодировку посредством QObject::tr ? добавлено спустя: чуть не забыл - QT-4.2. Название: нет русских букв в приложении ПРИВЕТ МИР Отправлено: Вудруф от Октябрь 30, 2006, 13:52 Код: QTextCodec::setCodecForCStrings ( QTextCodec * c ) Название: нет русских букв в приложении ПРИВЕТ МИР Отправлено: bigirbis от Октябрь 30, 2006, 14:24 Можно еще так:
QString QString::fromLocal8Bit ( const char * str, int size = -1 ) [static] Название: спасибо Отправлено: izoomer от Октябрь 30, 2006, 14:33 работает.
Название: нет русских букв в приложении ПРИВЕТ МИР Отправлено: Dendy от Октябрь 31, 2006, 10:08 Избитая тема. Но стоит повториться.
QObject::tr() нужен для подставления локализованьІх строк по ключу. Етот механизм позволяет не использовать НЕ-латинские символьІ в коде. Использование не-латинских символов само по себе является плохим стилем программирования. В Qt4 можно локализованьІе строки легко засунуть в исполняемьІй файл, чтобьІ не тягать отдельно вместе с программой файл локализации. По хорошему правильно так: 1. Не юзать Код: QTextCodec::setCodecFor... 2. Юзать латинские символьІ в tr(): Код: QPushButton * button = new QPushButton( tr( "hello" ), this ); 3. Юзать QTranslator для перевода строк. 4. Добавить в проект переведённую строку "hello" на русский язьІк как ресурс. Название: нет русских букв в приложении ПРИВЕТ МИР Отправлено: bigirbis от Октябрь 31, 2006, 10:51 Цитировать В Qt4 можно локализованьІе строки легко засунуть в исполняемьІй файл, чтобьІ не тягать отдельно вместе с программой файл локализации. Можно более развернуто, а то в ассистанте не нашел? Название: нет русских букв в приложении ПРИВЕТ МИР Отправлено: Dendy от Октябрь 31, 2006, 12:53 В Ассистанте: The Qt Resource System
|