• 8694阅读
  • 4回复

[提问]【提问】关于字体问题 ?乱码了! [复制链接]

上一主题 下一主题
离线gongyh
 

只看楼主 倒序阅读 楼主  发表于: 2005-09-01
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
/* exitbutton.cpp */
#include <qapplication.h>
#include <qpushbutton.h>
#include <qstring.h>

int main(int argc,char **argv)
{
  QApplication app(argc,argv);
  QString string("推出");//出现了乱码换成“exit”就好了。
  QPushButton *button = new QPushButton(string,NULL);
  QObject::connect(button,
        SIGNAL(clicked()),&app,SLOT(quit()));
  button->setGeometry(20,20,80,50);
  button->show();
  //app.setMainWidget(button);
  return(app.exec());
}
[ 此贴被XChinux在2005-09-01 12:38重新编辑 ]
打工不是一辈子的事!
离线XChinux

只看该作者 1楼 发表于: 2005-09-01
因为Qt采用的Unicode系统,所以一般情况下,不能直接在源文件中使用中文,就要出现乱码。
使用中文,最好要采用Qt国际化支持方式使用。
可参考下面的帖子解决问题。
http://www.qtcn.org/bbs/read.php?tid=525
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线gongyh

只看该作者 2楼 发表于: 2005-09-01
解决了,只要改成:
/* exitbutton.cpp */
#include <qapplication.h>
#include <qpushbutton.h>
#include <qstring.h>
#include <QTextCodec>

int main(int argc,char **argv)
{
  QApplication app(argc,argv);
  QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());// add
  QString string("你好");
  QPushButton *button = new QPushButton(string,NULL);
  QObject::connect(button,
        SIGNAL(clicked()),&app,SLOT(quit()));
  button->setGeometry(20,20,80,50);
  button->show();
  //app.setMainWidget(button);
  return(app.exec());
}
打工不是一辈子的事!
离线fanyu
只看该作者 3楼 发表于: 2005-09-01
谢谢大家对提问的支持,同时也希望有更多的人来提出问题和解决问题。
离线yfy002

只看该作者 4楼 发表于: 2005-09-01
QString::fromLocal8Bit("你好")
也可以,不过最好采用国际化支持方式使用。
我渴望平静,风却给了我涟漪
我的blog:
http://sungaoyong.cublog.cn
快速回复
限100 字节
 
上一个 下一个