Где почитать, как QLabel на форму вывести на русском?
Когда-то я брал книжку Земскова по Qt 4 — и егошные примеры все прекрасно работали.
Сегодня после долгого перерыва имеем:
— Windows 7
— Qt 5.4.2 — бесплатная
— QtCretor 3.4.1 c MinGW 4.9.1
В Creatore в редакторе установлена по умолчанию кодировка Windows-1251.
Так осталось с давних времен, чтобы не перебивать комментарии.
Делаю простую форму из QDialog.
В main() пишу:
#include "dialog.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// -- делаем русскую кодировку --
QTextCodec *codec = QTextCodec::codecForName("CP1251");
QTextCodec::setCodecForLocale(codec); // -- тут в прежней проге стояло setCodecForTr(codec)
QFont font("Courier", 10, QFont::Bold);
QApplication::setFont(font);
Dialog w;
w.setFont(font);
w.setWindowTitle(QObject::tr("Поиск перколяционного кластера"));
w.show();
return a.exec();
}
Проблема:
а) в неправильной кодировке ?
б) в неправильных вызовах ?
Скорее всего — последнее.
Где прочитать, как правильно?
В Шлее все примеры на английском, а глава о локализации — про глобальные проблемы перевода всех строк в приложении.
Справка в QtCreator — примера подобного не обнаружил.