在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();//其他类型类似

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

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

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

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

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

在VS中编写Qt5涉及到的一点字符串问题的更多相关文章

  1. 踩坑事件:windows操作系统下的eclipse中编写SparkSQL不能从本地读取或者保存parquet文件

    这个大坑... .... 如题,在Windows的eclipse中编写SparkSQL代码时,编写如下代码时,一运行就抛出一堆空指针异常: // 首先还是创建SparkConf SparkConf c ...

  2. 如何在windows中编写R程序包(转载)

    网上有不少R包的编译过程介绍,挑选了一篇比较详细的,做了稍许修改后转载至此,与大家分享 如何在windows中编写R程序包 created by helixcn modified by binaryf ...

  3. html中编写js的方式

    第一种:引用外部的js文件 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http ...

  4. 在ubuntu linux 中编写一个自己的python脚本

    在ubuntu linux 中编写一个自己的简单的bash脚本. 实现功能:终端中输入简单的命令(以pmpy为例(play music python),为了区别之前说的bash脚本添加了py后缀),来 ...

  5. 在ubuntu linux 中编写一个自己的bash脚本

    在ubuntu linux 中编写一个自己的简单的bash脚本. 实现功能:终端中输入简单的命令(以pm为例(play music)),来实现音乐的播放.注:本人ununut中安装了audacious ...

  6. XNA、FNA以及在VS2017中编写XNA

    XNA是早期DX SDK支持的C#游戏开发环境,虽然现游戏开发大多是以Unity3D,Unreal 4为主,但是许多独立游戏开发者,特别是2D游戏,依然使用XNA进行开发, 纠其原因,猜测是C#开源且 ...

  7. robot framework笔记(一):环境配置(基于python3)+在pycharm中编写及运行robot脚本

    (一)使用pip安装robotframework框架和seleniumlibrary库 pip install --upgrade robotframework pip install --upgra ...

  8. 如何在Ruby中编写微服务?

    [编者按]本文作者为 Pierpaolo Frasa,文章通过详细的案例,介绍了在Ruby中编写微服务时所需注意的方方面面.系国内 ITOM 管理平台 OneAPM 编译呈现. 最近,大家都认为应当采 ...

  9. Laravel 项目中编写第一个 Vue 组件

    和 CSS 框架一样,Laravel 不强制你使用什么 JavaScript 客户端框架,但是开箱对 Vue.js 提供了良好的支持,如果你更熟悉 React 的话,也可以将默认的脚手架代码替换成 R ...

随机推荐

  1. Kubernetes——命令行操作

    如果集群初始化失败需要的操作: master:  kubeadm reset   #回答y  执行一条它提示给你的iptables命令即可 node:  systemctl stop kubelet  ...

  2. phpstrom+win10拼音输入法不跟随情况

    PHPSTORM拼中文时悬浮框一直在右下角,真是逼死强迫症的操作! 最好解决方案: 下载讯飞输入法,虽然有点不习惯,用着用着就行了 等待官方修复着bug吧; 网上说的直接下载jre64覆盖原来的版本也 ...

  3. 微信小程序IOS真机调试发生了SSL 错误,无法建立与该服务器的安全连接

    小程序 真机调试 IOS request:fail 发生了SSL 错误,无法建立与该服务器的安全连接,解决方法服务器中打开Powerhell,执行以下代码,然后重启服务器 # Enables TLS ...

  4. python 文本文件操作

    文件操作三步走:打开.读写.关闭. open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, close ...

  5. 关于 vue.config.js 文件的配置

    相关文档: https://cli.vuejs.org/zh/config/#vue-config-js

  6. Spring boot application.properties和 application.yml 初学者的学习

    来自于java尚硅谷教程 简单的说这两个配置文件更改配置都可以更改默认设置的值比如服务器端口号之类的,只需再文件中设置即可, properties可能是出现的比较早了,如果你不调你的默认编码,中文可能 ...

  7. Exchange Server备份与恢复

    本文档描述了Exchange 2003.Exchange Server 2007/2010的备份与恢复操作,涉及的内容包括: 1.使用NTBackup 备份与恢复Exchange 2007/2003 ...

  8. 【pwnable.kr】 uaf

    目测是比较接近pwnable的一道题.考察了uaf(use after free的内容),我觉得说白了就是指针没有初始化的问题. ssh uaf@pwnable.kr -p2222 (pw:guest ...

  9. pt-query-digest使用详解

    1.语法及重要选项pt-query-digest [OPTIONS] [FILES] [DSN] --create-review-table 当使用--review参数把分析结果输出到表中时,如果没有 ...

  10. 小程序填坑:2018最新getPhoneNumber功能详解

    本篇博客主要详解getPhoneNumber组件的功能,填补网上那些到处是漏洞的博客.加上小程序官方本身也是满满的漏洞. 惯例先上总纲: ##主要内容 1.前端页面组件书写 2.JS内组件用法 3.接 ...