Linux下Qt编程怎么显示中文?

程序代码是:#include<qapplication.h>#include<qwidget.h>#include<qlabel.h>#include<qtextcode... 程序代码是:

#include <qapplication.h>
#include <qwidget.h>
#include <qlabel.h>
#include <qtextcodec.h>
int main(int argc,char* argv[])
{
QApplication app(argc,argv);
//QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));

QWidget* pwidget=new QWidget;
QLabel label(pwidget);
label.setText(QObject::tr("你好!"));
pwidget->show();
return app.exec();
}

make以后显示错误:
error:'setCodecForLocale' is not a member of 'QTextCodec';
error:'setCodecForTr' is not a member of 'QTextCodec';
error:'setCodecForCStrings' is not a member of 'QTextCodec';
不知道什么问题?请指点!
展开
 我来答
百度网友af6bb57
2013-03-19 · TA获得超过537个赞
知道小有建树答主
回答量:789
采纳率:100%
帮助的人:225万
展开全部
你的是qt3版本?
没平台,你试下下面的方法:
QTextCodec::setCodecForLocale(QTextCodec::codecForName("utf8"));
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
追问
不行,我用的是Qtopia-2.2.0版本,嵌入式Qt!
追答
那你得看下他的API手册吧。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rlssong
2013-03-19 · 超过11用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:35.4万
展开全部
你可以这样试试。
#include <QTextCodec>
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForTr(codec );
QTextCodec::setCodecForLocale(codec );
QTextCodec::setCodecForCStrings(codec );
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
呆娃丶2436
2015-08-10 · TA获得超过6158个赞
知道答主
回答量:1021
采纳率:100%
帮助的人:54.2万
展开全部
  C/C++ code#include <QtGui/QApplication>
#include <QtCore/QTextCodec>
#include <QDir>
#include <QTranslator>
#include "MainForm.h"

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QDir::setCurrent(QApplication::applicationDirPath());
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB18030"));
setupTranslator();
a.setApplicationName("中文程序");

TMainForm w;
w.show();

return a.exec();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
巫书轶
2013-03-19 · TA获得超过287个赞
知道小有建树答主
回答量:391
采纳率:50%
帮助的人:333万
展开全部
Qt 没有写过代码 我都是用gtk
不过看错误提示 很明显
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
这3段设置错了
我一下我去看看 代码应该怎么写
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f243895
2013-04-11 · 超过11用户采纳过TA的回答
知道答主
回答量:128
采纳率:0%
帮助的人:34.5万
展开全部
你的是qt5.0版么?setCodecForTr等被舍弃了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式