nokia Qt支持中文方法
December 9, 2009 – 7:37 pm参考网络上的资源,总结的一个解决Qt中文支持的方法,还没有仔细深究,暂时记录在这里,当模板使用。
编写一个最简单的Qt程序,参考教材《C++ GUI Qt4编程 第二版》,编译。
- #include <QtGui/QApplication>
- #include <qlabel.h>
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- QLabel *label = new QLabel("hello nokia Qt");
- label->show();
- return a.exec();
- }
编译通过,如图:

这还不够,我们要做的程序必须支持中文,改写一下。
- #include <QtGui/QApplication>
- #include <qlabel.h>
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- QLabel *label = new QLabel("hello 诺基亚 Qt");
- label->show();
- return a.exec();
- }
结果就出现问题了,nokia Qt支持中文有问题,如图:

怎么办呢,继续修改代码,再次编译
- #include <QtGui/QApplication>
- #include "dialog.h"
- #include <qlabel.h>
- #include <qtextcodec.h>
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- QTextCodec *codec = QTextCodec::codecForName("utf8");
- QTextCodec::setCodecForLocale(codec);
- QTextCodec::setCodecForCStrings(codec);
- QTextCodec::setCodecForTr(codec);
- QLabel *label = new QLabel("hello 诺基亚 Qt");
- label->show();
- return a.exec();
- }

One Response to “nokia Qt支持中文方法”
很好,非常详细了,!谢谢大哥!
By 互动投影 on Apr 26, 2010