在VS中编写Qt5涉及到的一点字符串问题
在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涉及到的一点字符串问题的更多相关文章
- 踩坑事件:windows操作系统下的eclipse中编写SparkSQL不能从本地读取或者保存parquet文件
这个大坑... .... 如题,在Windows的eclipse中编写SparkSQL代码时,编写如下代码时,一运行就抛出一堆空指针异常: // 首先还是创建SparkConf SparkConf c ...
- 如何在windows中编写R程序包(转载)
网上有不少R包的编译过程介绍,挑选了一篇比较详细的,做了稍许修改后转载至此,与大家分享 如何在windows中编写R程序包 created by helixcn modified by binaryf ...
- html中编写js的方式
第一种:引用外部的js文件 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http ...
- 在ubuntu linux 中编写一个自己的python脚本
在ubuntu linux 中编写一个自己的简单的bash脚本. 实现功能:终端中输入简单的命令(以pmpy为例(play music python),为了区别之前说的bash脚本添加了py后缀),来 ...
- 在ubuntu linux 中编写一个自己的bash脚本
在ubuntu linux 中编写一个自己的简单的bash脚本. 实现功能:终端中输入简单的命令(以pm为例(play music)),来实现音乐的播放.注:本人ununut中安装了audacious ...
- XNA、FNA以及在VS2017中编写XNA
XNA是早期DX SDK支持的C#游戏开发环境,虽然现游戏开发大多是以Unity3D,Unreal 4为主,但是许多独立游戏开发者,特别是2D游戏,依然使用XNA进行开发, 纠其原因,猜测是C#开源且 ...
- robot framework笔记(一):环境配置(基于python3)+在pycharm中编写及运行robot脚本
(一)使用pip安装robotframework框架和seleniumlibrary库 pip install --upgrade robotframework pip install --upgra ...
- 如何在Ruby中编写微服务?
[编者按]本文作者为 Pierpaolo Frasa,文章通过详细的案例,介绍了在Ruby中编写微服务时所需注意的方方面面.系国内 ITOM 管理平台 OneAPM 编译呈现. 最近,大家都认为应当采 ...
- Laravel 项目中编写第一个 Vue 组件
和 CSS 框架一样,Laravel 不强制你使用什么 JavaScript 客户端框架,但是开箱对 Vue.js 提供了良好的支持,如果你更熟悉 React 的话,也可以将默认的脚手架代码替换成 R ...
随机推荐
- CSS - flex使行内元素快速对齐
div{ display:flex; alian-items:center; //使垂直对齐 justify-content:center //使水平对齐 }
- 使用jquery版本的viewer.js图片更新的问题
参考博客: 使用jquery版本的viewer.js图片更新的问题 - cc_fys的博客 - CSDN博客 https://blog.csdn.net/cc_fys/article/details/ ...
- Spark 下操作 HBase(1.0.0 新 API)
hbase1.0.0版本提供了一些让人激动的功能,并且,在不牺牲稳定性的前提下,引入了新的API.虽然 1.0.0 兼容旧版本的 API,不过还是应该尽早地来熟悉下新版API.并且了解下如何与当下正红 ...
- F. Fairness 分硬币最大差值最小
F. Fairness time limit per test 2.0 s memory limit per test 64 MB input standard input output standa ...
- 转 centos7使用kubeadm安装kubernetes 1.12版本
最近在学习go 模板语法 还是有点小忙 ! 感觉写这种 kuberadm 搭建 kubernetes 还是有点水 好吧 可能我太高调了 前前后后搭过四 五次了 ! kuberadm 搭建 ...
- 九九乘法表的四种三角形排布方式(for循环以及while循环的互换)
#region //右上 for (int i = 1; i <= 9; i++){ for (int j = 1; j <= 9; j++){ if (i > j){ Consol ...
- windows中的运行命令
首先按“开始”-“运行”,或按WIN键+R,进入『运行』窗口. 下面是常用的运行命令 (按英文字符顺序排列) appwize.cpl----添加.删除程序 access.cpl-----辅助功能选项 ...
- Sass - &引用父选择器
描述: 您可以使用&字符选择父级选择器. 它告诉父选择器应该插入的位置. 例一:&在前 h3 { font-size: 20px margin-bottom: 10px &.s ...
- Mysql 存储过程造测试数据
1.Mysql 存储过程造测试数据 -- 创建一个用户表 CREATE TABLE `sys_user` ( -- `id` CHAR (32) NOT NULL DEFAULT '' COMMENT ...
- XTU 1205 Range
还是五月湘潭赛的题目,当时就是因为我坑...连个银牌都没拿到,擦. 这个题目枚举区间是不可能的,明显是要考虑每个数对全局的影响,即找到每个数最左和最右能满足是最大的位置 以及 最小的时候,相乘即为该数 ...