试验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();
}

结果如下:
VS2015 + QT5.7 中文的坑

试验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();
}

 

结果如下:

VS2015 + QT5.7 中文的坑

结论:

在VS中, 使用

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

QObject::tr

相关文章:

  • 2021-08-28
  • 2022-12-23
  • 2021-10-04
  • 2021-08-25
  • 2021-09-17
  • 2021-12-11
  • 2021-04-14
  • 2022-12-23
猜你喜欢
  • 2021-08-06
  • 2021-05-14
  • 2022-12-23
  • 2021-12-14
相关资源
相似解决方案