您的位置:首页 > 编程语言 > Qt开发

qt显示中文

2012-12-05 11:35 1151 查看
QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312"));

原文:http://hi.baidu.com/whl0630/item/af075951e56cf9c89f26674d

Qt 中文显示 QMessageBox按钮中文显示

1,QT中如何显示中文呢?

QTextCodec*pCodec=QTextCodec::codecForName("System");//获取系统字体编码

QTextCodec::setCodecForLocale(pCodec);

QTextCodec::setCodecForCStrings(pCodec);

QTextCodec::setCodecForTr(pCodec);

如果你的操作系统当前是中文环境的话,就可以显示中文。

 

2,通过第1步的操作就可以在文本中显示中文了,但是还不能在内置的QMessageBox按钮上面显示中文。

该怎么办呢?

(1)从QT安装目录下面将文件“qt_zh_CN.qm”复制一份到你的项目目录下。

例如,我是从“D:\QtSDK\Desktop\Qt\4.7.3\msvc2008\translations”目录下复制的“qt_zh_CN.qm”文件。

你的项目目录指你项目的.pro文件所在的目录。

(2)在项目目录中新建一个文本文件,输入如下内容:

<RCC>

    <qresource prefix="/">

        <file>qt_zh_CN.qm</file>

    </qresource>

</RCC>

保存后,将该文本文件的后缀名由txt改为qrc,表明这是资源文件。

(3)在Qt Creator中将上述文件加到你的项目中。

(4)修改代码如下,表示要加载相应的资源文件。

    QTranslator oTranslator;

    oTranslator.load(":/qt_zh_CN"); // 注意此处字符串以“:/”开头,后接的字符串是刚才复制的qm文件的名字

    QApplication oApp(argc, argv);

    oApp.installTranslator(&oTranslator);

(5)重新编译、运行程序即可。

============================================

运行效果如下:

 


 

后记:当时笔者希望QMessageBox的按钮能中文显示,在网上搜索发现有许多同学有相同的问题,然而网上给出的答案却要么是本文叙述的第1个问题的答案,要么就是没有说清楚。所以,专门在这里贴出来,希望能帮到大家。

 

另:

头文件添加

#include<QtCore/qtextcodec.h>


在main函数添加

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: