Qt5对付中文真好用

Qt好多C++程序员都在用,Qt4大家可能用的多,到了Qt5不熟悉的人到是很多,其中我喜欢的特性也是和Qt4大不一样的地方就是对中文的处理。

Qt4中使用“QTextCodec::setCodecForTr(QTextCodec::codecForName('gb18030'));”类似的语句来解决问题,但是这种全局性的设置在一些情况是下是会影响其他语言的。例如软件中存在多种语言。

Qt5中是怎么解决中文的呢?我的理解就是QString一个类直接全部搞定。

例如想保存中文到文件中,再将文件中的中文内容读取到程序中。

一下是代码片段:

01. 1 bool MainWindow::__ReadFile(const QString &filename)
02. 2 {
03. 3     QFile infile(filename);
04. 4     if (infile.open(QIODevice::ReadOnly))
05. 5     {
06. 6         //textEdit->setPlainText(QString::fromLocal8Bit(infile.readAll()));
07. 7         textEdit->setPlainText(QString::fromUtf8(infile.readAll()));
08. 8         infile.close();
09. 9
10. 10         setWindowModified(false);
11. 11         setWindowTitle(filename);
12. 12         return true;
13. 13     }
14. 14     return false;
15. 15 }
01. 1 bool MainWindow::__WriteFile(const QString &filename)
02. 2 {
03. 3     QFile outfile(filename);
04. 4     if (outfile.open(QIODevice::WriteOnly))
05. 5     {
06. 6         //outfile.write(textEdit->toPlainText().toLocal8Bit().data());
07. 7         outfile.write(textEdit->toPlainText().toUtf8().data());
08. 8         outfile.close();
09. 9
10. 10         setWindowModified(false);
11. 11         setWindowTitle(filename);
12. 12         return true;
13. 13     }
14. 14     return false;
15. 15 }
1. QString::fromUtf8
2.  
3. QString::toUtf8
4.  
5. 或者
1. QString::fromLocal8Bit
1. QString::toLocal8Bit
2.  
3. 使用“一对”就可以完美解决中文输入输出问题。
4.  
5. 大家可以试试。



FROM: http://www.it165.net/pro/html/201408/18861.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值