qt中文乱码
来源:互联网 发布:pla算法 编辑:程序博客网 时间:2024/06/05 19:42
解决方法,csdn上看来的,设置为系统字体,用三个
QTextCodec::setCodecForTr()
QTextCodec::setCodecForCStrings()
QTextCodec::setCodecForLocale()
#include <QApplication>#include <QDialog>#include <QLabel>#include <QTextCodec>int main(int argc, char *argv[]){ QApplication a(argc, argv); //Set Encode QTextCodec::setCodecForTr(QTextCodec::codecForName("system")); QTextCodec::setCodecForCStrings(QTextCodec::codecForName("system")); QTextCodec::setCodecForLocale(QTextCodec::codecForName("system")); QDialog w; QLabel label(&w); label.setText("Hello World!你好,Qt!"); //attention!! w.show(); return a.exec();}
另外一种方法,《QT快速入门》一书中的方法,只需要一个set,但是在label中填写文字的时候,需要
QObject::tr()
QTextCodec类提供了文本编码的转换功能。QTextCodec类中的静态函数setCodecForTr()用来设置
QObject::tr()函数所要使用的字符集。
QTextCodec::codecForLocale()返回了系统指定的字符集,QtextCodec::setCodecForTr()设置tr()用到的字符集。
总之,为了显示中文,需要设置字符集,然后使用QObject::tr()函数将字符串进行编码转换。
#include <QApplication>#include <QDialog>#include <QLabel>#include <QTextCodec>int main(int argc, char *argv[]){ QApplication a(argc, argv); QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); //set QDialog w; QLabel label(&w); label.setText(QObject::tr("Hello World!你好,Qt!")); //attention!! QObject::tr() used. w.show(); return a.exec();}
Q:在qt的IDE中编写程序,如上,运行没问题,但是但是换成直接用command line编译,代码是直接拷贝过去的,运行出问题额:
A:后来发现时文件默认编码问题:
用qt直接创建的文件默认编码为ANSI
而win7中直接创建文本文件默认编码为UTF-8
我把自己创建的文件另存为ANSI格式之后,再编译运行,没有问题了
摘自:
http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f73a6f8b89462383d60984642c101a39fec0567b4758869e20301cfc090db0ab7225761e26b090c3885dddccd37269d779203541c6171d905fb8cb37669f73c00db7b81996ad814684d8d4c4ae2744ba24127bf0e7fb291764b97886112695a28e49654861bafa4665e828773ee853&p=8f34c116d9c104f900bd9b7d0b1083&newp=9039ca16d9c11bf608e297780b5f97231610db2151d1d51f258d&user=baidu&fm=sc&query=qt+qlabel+%CF%D4%CA%BE%BA%BA%D7%D6%C2%D2%C2%EB&qid=&p1=4
- qt 中文乱码
- QT中文乱码
- Qt 中文乱码解决
- Qt中文显示乱码
- qt 中文乱码
- qt 中文乱码 问题
- Qt中文乱码
- QT中文乱码
- qt中文乱码问题
- QT中文乱码总结
- QT 文本 中文乱码
- QT中文显示乱码
- QT解决中文乱码
- Qt 中文显示乱码
- qt 中文系统乱码
- qt中文乱码详解
- QT中文乱码
- qt中文乱码解决
- 利用Socket函数创建一个网络套接字
- 解决ssh的"Write failed: Broken pipe"问题
- Android 开源框架Universal-Image-Loader完全解析(二)--- 图片缓存策略详解
- ZeroMQ线程通讯
- 【Gateway安装】Windows 下 已存在DB10gR2 安装Gateway11gR2 for sybase
- qt中文乱码
- Java IO流
- andriod 实现新浪、QQ空间、微信朋友圈、微信好友分享功能
- 恢复Win7里管理员的权限到默认状态
- USB设备firmware
- 懂得生命
- Hrbust 1073
- CD Making
- 利用bind函数将创建好的套接字绑定到本地计算机的某一端口上