Русский язык в Qt приложениях

By | November 21, 2009

Advertisement from Google

Столкнулся я с проблемой кодировки русских символов в Qt приложениях под linux(под винду еще не проверял). В Qt Creator все нормально отображается, файл сохранен в utf-8, но при запуске приложения я видел какозабли. Пробовал перекодировать сам исходник, не помогало. И вот потом я наткнулся на вот эту статью и нашел решение проблемы.
Нужно подключить заголовочный файл QTextCodec и использовать вызов статического метода setCodecForTr() или setCodecForCStrings() класса QTextCodec.
Первый метод применяется в случае использования метода tr() для интернациональных приложений, а второй для строк типа CString. Вот небольшой пример:


Advertisement from Google

#include <QtCore>
#include <QtGui>
#include <QTextCodec>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
 QApplication a(argc, argv);
 QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8"));
 MainWindow w;
 w.setWindowFlags(Qt::Window | Qt::WindowSystemMenuHint);
 w.setWindowTitle("Тест");
 w.resize(600, 100);
 w.show();
 return a.exec();
}

One thought on “Русский язык в Qt приложениях

  1. debiannuser

    Парень ты бог!спасибо огромное, очень помогло!!!!!!

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *