‘壹’ Qt程序发布后,放在没有Qt的系统(linux Redhat6.5)下运行,中文不显示,已经加了中文字库
有设置字体吗?
一般情况下在Qt安装目录的lib目录下面有字体文件,如果没有你可以从windows下面拷贝一个“微软雅黑”过去,然后在main.cpp中配置下app的字体,应该就可以显示了
#或者在配置启动脚本的时候设置字体路径
exportQTDIR=/usr/local/qt5
exportQT_QPA_FONTDIR=$QTDIR/lib/fonts
exportQT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins/
exportLD_LIBRARY_PATH=$QTDIR/lib:/lib:/usr/lib:/opt/libxil/lib:$LD_LIBRARY_PATH
‘贰’ Qt中文乱码问题怎么解决
(1)、中文编码一律使用QString::fromLocal8Bit()接口。
原因:需要支持QT4版本。QStringLiteral()方法也可取,但是它只支持QT5版本,如果没有版本问题,可以使用。
(2)、CPP等文件编码一律使用UTF8—BOM格式。
原因1:UTF8-无BOM在使用window编译器cl中编译会失败,当然除非你Windows中使用QT的Mingw版本编译开发。
原因2:不使用GBK的文件编码是为了更容易的兼容到linux版本与windows中,否则你需要改QtCreate的编码环境与linux的系统字符环境。
‘叁’ qt编译exe时中文字符处理的问题
我觉得可能是你本机输入的编码 与 别人机器输入编码 格式不同。
换成这样设置一下:
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
还不行的话到这里看看吧,和你同样的问题,应该能找到答案。
http://www.qtcn.org/bbs/read.php?tid=9450&keyword=%D6%D0%CE%C4%CF%D4%CA%BE
‘肆’ Ubuntu安装Qt后,编程出来的界面很奇怪,并且中文不能显示
中文问题:
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
显示问题:
这是ubuntu的unity桌面。你的桌面环境是什么,就会显示什么。
你可以换成gnome桌面或者kde来改善一下。
‘伍’ qt5.3.1编译输出窗口中文不能显示
重新安装Qt试试看,
把编码设置为系统编码
‘陆’ 为什么下载的Qt编译器,中文界面显示不全,换成英文又可以用的是Windows系统,急!
既然是中文界面显示不全,应该是字体不完全引起的,你可以下载一些字体资料安装上就可以了。
‘柒’ 如何在QT中显示中文字符
跟Qt关系不大,这和你源文件编码格式和编译器有关系。
可以给你个建议把上面的程序改成Qt版本的, 哈哈。步骤如下~
1 是用qtcreator
2 如果是, 检查
工具--选项--文本编辑器--行为 选项卡下的File Encodings 中,default Encoding下拉选框里没有中文编码(gbk、gb2132或gb18030等)。我这里是system
3 在程序里
int main(xxxx)
{
QApplication app(xxxx);
QTextCodec::setCodecForTr(QTextCodec::codecForName("system"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("system"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("system"));
qDebug() << QObject::tr("中文");
//记得中文用QObject::tr()包裹起来,这样就可以显示中文了。
app.exec();
}
‘捌’ QT4打开QT5中编写的程序出现乱码怎么解决
不管是qt4还是qt5都存在中文乱码的问题,归根结底这还是一个编程风格的问题,没有养成良好的习惯。如果程序很大,那么最根本的解决办法是在main之前声明一个gbk字库,当然如果只是几行的小程序为了节约内存,你可以直接根据情况转换utf编码。
‘玖’ ubuntu14.04下使用Qt5时显示不了中文,以前写上去的中文变成了口口口之类的东西,该怎解决
把编码格式装化为 utf