1. 前言
在编写Qt应用程序时,有时会希望能直接设置中文字符串到界面,总结下其设置方法。
2. 设置中文
1)运行环境Qt5.5 VS2013
2)首先,查看需要设置中文的文件是否为UTF-8格式,是的话可直接设置中文
3)如果文件非UTF-8格式,可在文件中增加如下指令,按UTF-8格式解析文件
#pragma execution_character_set("utf-8")
注:每个有设置中文字符串的文件中都需要增加
3. 注意事项
如果为Qt4及以下版本,需要在main函数中设置采用的编码格式,才能显示中文,设置方法如下
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
a.setFont(QFont("Microsoft Yahei", 10));
#if (QT_VERSION <= QT_VERSION_CHECK(5,0,0))
#if _MSC_VER
QTextCodec *codec = QTextCodec::codecForName("gbk");
#else
QTextCodec *codec = QTextCodec::codecForName("utf-8");
#endif
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);
#else
QTextCodec *codec = QTextCodec::codecForName("utf-8");
QTextCodec::setCodecForLocale(codec);
#endif
Widget w;
w.setWindowTitle("设置中文");
w.show();
return a.exec();
}