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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt и кириллица  (Прочитано 12537 раз)
vizir1989
Гость
« : Декабрь 16, 2012, 17:12 »

Доброго времени суток!
Исходные данные:
Qt Creator 2.4.1
Qt 4.8.4
исходники в UTF-8
в main.cpp написано:
Код:
    QTextCodec *cyrillicCodec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForTr(cyrillicCodec);
    QTextCodec::setCodecForLocale(cyrillicCodec);
    QTextCodec::setCodecForCStrings(cyrillicCodec);

Итог:
Кириллица не отображается. Вообще, нет ни крякозябр, ни чего.
Ни в комбобоксе, ни на кнопке, ни в QFileDialog::getOpenFileName.

P.S. Система Linux Mint 13 с кедами.
uname -a
Linux vizir-PC 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

еще инфа, может поможет.
1. qDebug нормально выводит русский язык.
2. Мне ни как не удается поменять шрифт через
QApplacation::setFont(...);
Записан
Dancing_on_water
Гость
« Ответ #1 : Декабрь 17, 2012, 08:46 »

А можно глянуть на весь main?

Но лучше все держать в латинице и юзать translate-файлы

Записан
vizir1989
Гость
« Ответ #2 : Декабрь 17, 2012, 09:52 »

А можно глянуть на весь main?

Но лучше все держать в латинице и юзать translate-файлы



Main будет чуть позже. Там ни чего особо и нет.
Mainwidget w;
w.show();
a.exec(argc, argv);
примерно так.

По поводу латинице, я обычно так и делаю. Только у меня есть файл, который я читаю и который содержит кириллицу + в getOpenFileName пути так же содержат кириллицу.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Декабрь 17, 2012, 10:07 »

Только у меня есть файл, который я читаю и который содержит кириллицу + в getOpenFileName пути так же содержат кириллицу.
и как это влияет на кодировку исходного кода?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
vizir1989
Гость
« Ответ #4 : Декабрь 17, 2012, 11:34 »

исходники в utf-8. Я это в самом начале оговорил.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #5 : Декабрь 17, 2012, 18:01 »

содержимое и путь до файла никак не зависит от кодировки исходников. по идее та установка кодеков вообще не нужна если ты в самом коде не пишешь кириллицей.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
vizir1989
Гость
« Ответ #6 : Декабрь 21, 2012, 13:49 »

содержимое и путь до файла никак не зависит от кодировки исходников. по идее та установка кодеков вообще не нужна если ты в самом коде не пишешь кириллицей.

Это да, я знаю. Но все равно на всякий случай написал, потому что во многих темах пишут, типа ставь кодеки, вот и поставил.

P.S. Тему можно закрывать, мне кеды не понравились, поставил другую систему под гномом.
Записан
zagzig
Гость
« Ответ #7 : Май 17, 2013, 22:35 »

У меня были такие же проблемы. Qt 4.8.4 был собран под убунтой руками из исходников.

По умолчанию в qt настроен шрифт, не поддерживающий кириллицу, поэтому русские символы и пропускались при отображении.

В итоге нужно запустить утилиту qtconfig (у меня она лежит в папке bin распакованных исходников) и выбрать семейство шрифтов, работающее с кириллицей. Например, Clean.

Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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