Qt Simulator运行程序出现中文乱码,设置QTextCodec为utf-8一看是方块,根据经验基本上确定是没有中文对应的字体所导致的。
解决方案很简单,将模拟器设置有中文的字体就可以了,找了半天没有找到字体设置的地方。并且查看模拟器系统字体目录(Mac下是Simulator/Application/simulator.app/Contents/MacOS/fonts,其他系统应是直接在simulator的目录下)下没有中文字体。
先将系统的字体复制到字体文件夹下。
同时在代码中添加字体设置代码:
- QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8"));
- QApplication a(argc, argv);
- QFont *font = new QFont("SimSun");
- a.setFont(*font);