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)重新编译、运行程序即可。

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

运行效果如下:

 Qt 中文显示 QMessageBox按钮中文显示_第1张图片

 

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

你可能感兴趣的:(System,qt)