Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Отображение кирилицы Qt 4  (Прочитано 3812 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн K_E_S_T

  • Автор темы
  • Участник
  • *
  • Сообщений: 198
  • пси][опат
    • Просмотр профиля
Отображение кирилицы Qt 4
« : 22 Июня 2009, 16:34:21 »
Взялся поработать с Qt Creator. Удобно впринципе. Наконец то разобрался с GUI. Только одно НО. Не работают символы кирилицы. Qt 4.5   GNOME 2.26.1  Кодировка проэкта по умолчанию (вроде ASCII). Как осилить кракозябры? Желательно, что бы это были действия в коде(пользователь сам не делал ничего, всё должно работать по русски "из коробки")



как видно кракозябры не пропадают при использовании tr();


PS  я не прошу комментариев по поводу кода, может быть он не идеален.

Оффлайн SergeyIT

  • Зануда.
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5743
  • Все по палатам!
    • Просмотр профиля
Re: Отображение кирилицы Qt 4
« Ответ #1 : 22 Июня 2009, 18:19:22 »
Использую свой дефайн для _Tr("xxx")
#define _Tr(x) QString::fromLocal8Bit(x)
Нашел ответ где-то на форуме www.qtsoftware.com ;)
Извините, я все еще учусь

Оффлайн K_E_S_T

  • Автор темы
  • Участник
  • *
  • Сообщений: 198
  • пси][опат
    • Просмотр профиля
Re: Отображение кирилицы Qt 4
« Ответ #2 : 22 Июня 2009, 18:50:35 »
что означает х в _Tr(x) QString::fromLocal8Bit(x) ?
и вообще, поясните пожалуста что это даст и как это работает

Оффлайн Kwah

  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: Отображение кирилицы Qt 4
« Ответ #3 : 22 Июня 2009, 19:01:57 »
что означает х в _Tr(x) QString::fromLocal8Bit(x) ?
и вообще, поясните пожалуста что это даст и как это работает
:o ты так изощрённо издеваешься? Прочитать книжку по языку, на котором пытаешься программировать и посмотреть документацию на QString::fromLocal8Bit религия не позволяет?

Оффлайн SergeyIT

  • Зануда.
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5743
  • Все по палатам!
    • Просмотр профиля
Re: Отображение кирилицы Qt 4
« Ответ #4 : 22 Июня 2009, 19:08:55 »
что означает х в _Tr(x) QString::fromLocal8Bit(x) ?
>:( Это же обычный дефайн!
Но если это сложно, то пишите так
QString nechto = QString::fromLocal8Bit( "Нечто, чего я не знаю и не хочу знать " );
Извините, я все еще учусь

Оффлайн AlexH

  • Участник
  • *
  • Сообщений: 147
    • Просмотр профиля
Re: Отображение кирилицы Qt 4
« Ответ #5 : 22 Июня 2009, 21:16:07 »
В main пишешь  что-то типа QTextCodec* codec =  QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForTr(codec);
(если локалка утф8 ). А далее по текстуQObject::tr("бла-бла-бла");И будут тебе русские букавки
arch x86_64

 

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