在VS中开发Qt5程序似乎成了我的一种习惯,因为觉得VS简直不能再溜了,不愧是“宇宙第一IDE”。

所以在开发中难免会遇到中文显示乱码的问题,网上找到的很多方法都是类似于下面这样的:

QStringLiteral("中文")

或者这样的:

#pragma execution_character_set("utf-8")

还有这样的:

QTextCodec * BianMa = QTextCodec::codecForName ( "GBK" );
QMessageBox::information(this, "提示", BianMa->toUnicode("中文显示!"));

还有这样的:

QString::fromWCharArray(L"中文字符");

反正,我一般是这样的:

QString::fromlocal8Bit("汉字");

这么多方法里面,如果是在VS中开发,那就用下面这两种:

QString::fromWCharArray(L"中文字符");
QString::fromlocal8Bit("汉字");

如果,很要命的想在VS和Qt creator中同时开发,那就用:

QString::fromlocal8Bit("汉字");

然后,还涉及到string转QString,就是

QString::fromStdString(s);

但是,如果你要QString转std::string的话,那可以直接用它:

QString::fromStdString(string);

但是,有时候很要命,会有汉字,所以就用它会比较保险:

//std::string to QString
QString::fromlocal8Bit(string.data()) //QString to std::string
QString str = "中文";
str.toLocal8Bit().data()

QString还提供了特别好用的数字与字符互转:

QString::number(数字);

QString str ="2";
str.toInt();//其他类型类似

辛苦最怜天上月,一昔如环,昔昔都成玦。

若似月轮终皎洁,不辞冰雪为卿热。

无那尘缘容易绝燕子依然软踏帘钩说。

唱罢秋坟愁未歇春丛认取双栖蝶。

  -- 纳兰性德 《蝶恋花·辛苦最怜天上月》

最新文章

  1. PowerPoint基础
  2. C#中XML和json互相转换
  3. xmind的第六天
  4. Docker-网络基础配置
  5. UIKit各类概述
  6. 用了OneAPM CT,宕机早知道!
  7. bzoj3767 A+B Problem加强版
  8. 阿里云服务器上架设apache php mysql 环境
  9. 软件測试系统文章(文件夹&链接在此)
  10. Spark2.0学习(三)--------核心API
  11. R 544
  12. jdk8- list操作
  13. 构造&析构
  14. 从零开始学习html(十三) CSS代码缩写,占用更少的带宽
  15. [日志log] 常用log日志记录方式对比和详解
  16. 相同类型的对象不能互相转换:java.lang.ClassCastException: com.anhoo.po.UserPo cannot be cast to com.anhoo.po.UserPo
  17. springboot date接收参数
  18. C语言命令行解析函数:getopt/getopt_long
  19. 6th Alpha阶段的postmortem报告
  20. 对HashMap的理解(二):高并发下的HashMap

热门文章

  1. BSGS&ExBSGS
  2. 怎样解题 --解题表(how to solve it)
  3. Windows10 网络图标消失 连接不上网络 的解决方法
  4. 11.swoole学习笔记--进程信号触发器
  5. 二、JavaScript之点击按钮改变HTML样式 (CSS)
  6. Swift 闭包使用(循环引用...)
  7. C#获取刚插入的数据的id
  8. 第七篇 Django-认证系统
  9. vue学习(十一)vue-cli3开发单文件组件
  10. 【剑指Offer】面试题09. 用两个栈实现队列