1、首先以下例子是在《精通Qt4编程(第2版)》书中的第一个qt主程序,hello,所用开发工具是VS2010+QT,首先要创建qt项目,如以下截图为创建项目的过程(注意如果不按此过程可能会出现编译失败)
图1
图2
图3
图4
图5
2、然后将main.cpp代码替换成书上代码,如下代码:
#include <QtGui/QApplication>
#include <QtGui/QWidget>
#include <QtGui/QLabel>
#include <QtCore/QTextCodec>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));
QWidget *pWidget=new QWidget();
QLabel label(pWidget);
label.setText(QObject::tr("同一个世界,同一个梦想!"));
pWidget->show();
return app.exec();
}
3、查看运行结果出现乱码,如下图所示:
图6
4、修改代码,将QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));换成QTextCodec::setCodecForTr(QTextCodec::codecForLocale());即可,如以下代码:
#include <QtGui/QApplication>
#include <QtGui/QWidget>
#include <QtGui/QLabel>
#include <QtCore/QTextCodec>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
QWidget *pWidget=new QWidget();
QLabel label(pWidget);
label.setText(QObject::tr("同一个世界,同一个梦想!"));
pWidget->show();
return app.exec();
}
5、运行结果为:
图7