Название: [РЕШЕНО] QT и русский язык Отправлено: sergeyvl12 от Август 25, 2009, 17:53 Добрый день!
Вобщем проблем я русским языком в QT у меня не было ... до сегодняшнего дня. Сегодня прикрутил к модели таблицы русские названия хидеров: Код: QVariant CreditTableModel::headerData ( int section, Qt::Orientation orientation, int role ) const Вывелись каракули ... И это при всем при том что остальные контролы (добавленные в дизайнере) выводятся нормально. Посмотрел как это делается в ui_mainwindow.h и ужаснулся... Пример: Код: label_3->setText(QApplication::translate("MainWindow", "\320\224\320\260\321\202\320\260", 0, QApplication::UnicodeUTF8)); Люди добрые! Как мне програмно формировать нормальные русские сообщения? P.S. Если я не пользуюсь дизайнером, а создаю все контролы програмно, все работает ок. Название: Re: QT и русский язык Отправлено: Пантер от Август 25, 2009, 17:57 Используй tr.
Название: Re: QT и русский язык Отправлено: ecspertiza от Август 25, 2009, 18:10 Более поясню ты скорее всего пишешь под виндой а значит кодировка файла win1251 а Qt работает с Utf-8 поэтому у тебя и получаются каракули, у тебя есть два варианта либо использовать QTextCodec и каждое русское слово в коде перегонять в Utf-8 либо использовать локализацию ,а то бишь писать всё на английском и все слова в коде помещать в tr(), а потом при помощи QtLinguist переводить на любой угодный тебе язык, от себя добавлю второй вариант более приемлем.
Название: Re: QT и русский язык Отправлено: BRE от Август 25, 2009, 18:16 Более поясню ты скорее всего пишешь под виндой а значит кодировка файла win1251 а Qt работает с Utf-8 поэтому у тебя и получаются каракули, у тебя есть два варианта либо использовать QTextCodec и каждое русское слово в коде перегонять в Utf-8 либо использовать локализацию ,а то бишь писать всё на английском и все слова в коде помещать в tr(), а потом при помощи QtLinguist переводить на любой угодный тебе язык, от себя добавлю второй вариант более приемлем. И третий вариант: использовать QtCreator (может есть и другие среды), установив кодировку исходников Utf-8 и пользоваться trUtf8().Название: Re: QT и русский язык Отправлено: lit-uriy от Август 25, 2009, 19:02 >>Qt работает с Utf-8
Неа, не работает с UTF-8, внутреннее представление в UTF-16. А кодировка исходника сама по себе. Название: Re: QT и русский язык Отправлено: Пантер от Август 25, 2009, 19:11 Тролли рекомендуют не использовать расширенную таблицу для исходников.
Название: Re: QT и русский язык Отправлено: ecspertiza от Август 25, 2009, 19:51 Во скока нового узнал :)
Название: Re: QT и русский язык Отправлено: sergeyvl12 от Август 26, 2009, 09:20 спасибо всем!
пойду покурю лингвист Название: Re: [РЕШЕНО] QT и русский язык Отправлено: SASA от Август 26, 2009, 11:33 Просто укажи кодировку исходников. (у меня Windows-1251).
Код: int main(int argc, char *argv[]) Название: Re: [РЕШЕНО] QT и русский язык Отправлено: sergeyvl12 от Август 26, 2009, 11:59 Просто укажи кодировку исходников. (у меня Windows-1251). Большое спасибо! Получилось :) |