main.cpp
#include <QTextCodec>
#include <QtGui/QApplication>
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("CP-1251"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("CP-1251"));
MainWindow w;
w.show();
return a.exec();
}
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include "mainmodel.h"
#include <QtDeclarative/QtDeclarative>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
QDeclarativeView *view = new QDeclarativeView;
setCentralWidget(view);
QDeclarativeEngine *engine = view->engine();
QDeclarativeContext *context = engine->rootContext();
QString fn = "MainWindow.qml";
view->setSource(fn);
view->setResizeMode(QDeclarativeView::SizeRootObjectToView);
}
MainWindow.qml
Rectangle {
id: rectangle1
width: 800
height: 600
Text {
id: text1
text: "Надпись на русском"
font.bold: true
font.family: "Tahoma"
anchors.fill: parent
font.pixelSize: 16
}
}
В результате получаю набор квадратиков в место надписи на русском, поэтому хотел узнать как использовать qml файлы с русским интерфейсом и вслучае необходимости интернационализировать их - tr() в них у меня не получилось использовать. Единственный способ который я пока нашёл чтобы выводить в qml русские надписи - это выводить их через параметры - но это довольно трудоёмкое занятие и для некоторых программ которые не будут интернализироваться не имеет никакого смысла, поэтому хотелось бы узнать способ использовать русские символы в самом qml.