вторник, 6 ноября 2012 г.

Поддержка русского языка в приложениях на Qt

Одна из стандартных проблем, с которой встречается каждый разработчик из России, это поддержка русского языка в приложениях на Qt. По умолчанию русский текст выводится кракозябрами, и может потребоваться довольно много времени чтобы всё-таки разобраться как это устранить.

На практике же надо выполнить 2 простых действия.
1. Включить в Qt Creator по умолчанию UTF-8 кодировку. Для этого необходимо зайти в Инструменты->Параметры и настроить кодировку как  на рисунке ниже:

2. Подключить текстовый кодек в main.cpp . После изменений main.cpp станет выглядеть следующим образом:

#include <QtGui/QApplication>
#include <QTextCodec> // подключение класса кодека текста
#include "mainwindow.h"
int main(int argc, char *argv[])
{
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); //изменения
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); //изменения
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); //изменения
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    
    return a.exec();
}
Всё, с этого момента любые ваши записи будут отображать полноценный русский язык.
По всем вопросам:
skype: austyh
mail: samiidlinnii@gmail.com

3 комментария:

  1. Спасибо большое, интересно было почитать, ну и естественно завтра проверю.:))
    Не могли бы вы сделать урок про передачу данных по UDP протоколу, т.е. реализация сервера и клиента с передачей массива байтов и последующей его расшифровкой в клиенте и выводом, ну к примеру в QLineEdit....???

    ОтветитьУдалить