版权声明:欢迎转载和收藏。转载请注明出处,谢谢! https://blog.csdn.net/u014266675/article/details/73605574
本人使用的Qt版本为5.8.0,以下说明适用于Qt 5.4及以上版本。
1、使用国际化,tr("中文"),也是无法显示,就算添加下面的代码,也还是无法显示。不管name是GBK、GB2132、UTF-8,均已证实无效。
QTextCodec::setCodecForLocale(QTextCodec::codecForName("gbk"));
2、在main()中添加
#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif
已测试无效。
3、在main()中添加(参考)
#if QT_VERSION < QT_VERSION_CHECK(5,0,0)
#if defined(_MSC_VER) && (_MSC_VER < 1600)
QTextCodec::setCodecForTr(QTextCodec::codecForName("GB18030-0"));
#else
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
#endif
#endif
已测试无效。
解决办法:
QString::fromLocal8Bit("中文");
已证实有效。
QString filename = QFileDialog::getOpenFileName(this,QString::fromLocal8Bit("打开文件"),"C:/");