Chinaunix首页 | 论坛 | 博客
  • 博客访问: 538703
  • 博文数量: 108
  • 博客积分: 3242
  • 博客等级: 中校
  • 技术积分: 916
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-07 11:46
文章分类
文章存档

2012年(13)

2010年(95)

分类: C/C++

2010-12-20 17:19:22

QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));

label->setText(tr("中文"));


QTextCodec::setCodecForCStrings(QTextCodec::codecForName("gb18030"));
 
QString str = "中文";
label->setText(str);


对项目中所有的tr()和QString都有效,不必考虑变量的域的问题
 
 
补充: 静态编译程序的时候还是会乱码,查了下资料,静态编译用以下方法

QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());


动态
 

QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312"));


阅读(6461) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-12-22 14:18:53

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com