VS2015 + QT5.7 中文的坑

试验1:

#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif

#include <QtWidgets/QApplication>
#include <QtWidgets/QLabel>
#include <QtCore/QObject>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QLabel w;
    w.resize(200, 40);
    w.setWindowTitle(QStringLiteral("你好!"));
    w.setText(QObject::tr("你好"));
    w.show();
    return a.exec();
}

结果如下:
QQ截图20160918171141

试验2

去掉前面的

#pragma execution_character_set("utf-8")

#include <QtWidgets/QApplication>
#include <QtWidgets/QLabel>
#include <QtCore/QObject>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QLabel w;
    w.resize(200, 40);
    w.setWindowTitle(QStringLiteral("你好!"));
    w.setText(QObject::tr("你好"));
    w.show();
    return a.exec();
}

结果如下:

QQ截图20160918171317

结论:

在VS中, 使用

#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif

QObject::tr

原文地址:https://www.cnblogs.com/yaoyu126/p/5882327.html