qstring转string
Qt的QString功能丰富,对非英语语言的支持也不是问题,但支持得不够直接。例如,像
1
|
QString str( "死亡使者赛维" );
|
这样直接用带中文的字符串进行构造,那么用QMessageBox显示str时将出现乱码。如果使用fromLocal8Bit、fromLatin1这样的函数,又依赖本地计算机的显示语言,所以它们不是好方法。
显式地使用宽字符(wchar_t)或UTF-8才是好方法。
1
2
|
QString str0(QString::fromStdWString(L "数学分析" ));
QString str1(QString::fromUtf8(u8 "高等代数" )); // C++11
|
UTF-8的字符串字面量是C++11的内容,如果你的编译器不支持它,可以用第一种方式。这样,不管本地的语言是什么,都是可以通吃的。
测试一下吧!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
void MsgBox( const QString &s)
{
QMessageBox::information( nullptr , QString::fromUtf8(u8 "标题" ), s, QMessageBox::Ok);
}
void MainWindow::on_pushButton_clicked()
{
QString str0(QString::fromStdWString(L "数学分析" ));
QString str1(QString::fromUtf8(u8 "高等代数" ));
QString str2(QString::fromUtf8(u8 "ステンカラーのコート 【折式立领的外套】" )); // 日文也不是问题
QString s(QString::fromUtf8(u8 "\r\n" ));
MsgBox(str0 + s + str1 + s + str2);
}
|
运行结果:
最后给出QString与std::wstring的相互转换。
从std::wstring到QString,用QString的静态成员函数QString::fromStdWString。它接受一个std::wstring类型的参数,返回对应的QString。
1
2
|
std::wstring str_STL(L "实变函数论" );
QString str_Qt = QString::fromStdWString(str_STL);
|
从QString到std::wstring,用QString的成员函数QString::toStdWString。它返回一个std::wstring。
1
|
std::wstring str_STL = str.toStdWString();
|
转载于:https://www.cnblogs.com/hshy/p/10571951.html
qstring转string相关推荐
- QString与string的相互转换
1.QString转换String string s = qstr.toStdString(); 2.String转换QString QString qstr2 = QString::fromStdS ...
- [转]QT中QString与string的转化,解决中文乱码问题
[转]QT中QString与string的转化,解决中文乱码问题 参考文章: (1)[转]QT中QString与string的转化,解决中文乱码问题 (2)https://www.cnblogs.co ...
- Qstring 和 String相互转换
1.QString转换String string s = qstr.toStdString(); 2.String转换QString QString qstr2 = QString::fromStdS ...
- QString和string类型相互转换
转自:http://blog.csdn.net/yang_hui1986527/article/details/5273805 在使用QT和C++进行开发的时候,由于两者的数据类型不完全相同,需要进行 ...
- Qt中QString转string中文乱码问题
QString与string相互转换可以用如下方法: QString::toStdString(); QString::fromStdString(); 数字和QString互相转换: QString ...
- QString和string互相转换乱码处理
转化与乱码处理 std::string cstr; QString qstring; //从std::string 到QString qstring = QString(QString::fromLo ...
- QString和String的介绍
今天要说的是QString.之所以把QString单独拿出来,是因为string是很常用的一个数据结构,甚至在很多语言中,比如JavaScript,都是把string作为一种同int等一样的基本数据结 ...
- QString与std::string的相互转换
QString与std::string的相互转换 原创 2014年07月07日 16:25:53 4011 [cpp] view plain copy //1 QString与int相互转换 QStr ...
- QString string char*互转
1.QString 转 char * //QString转char* QString qStr = "让世界爱上中国造"; QByteArray qByteArray = qStr ...
- String和QString之间的转化----可避免出现中文乱码的现象
String和QString之间的转化 经常因为QString和string的转化出现问题,而出现一些莫名其妙的错误. (适用于QT5) QString qstr; string str; str = ...
最新文章
- Li‘s 影像组学视频学习笔记(28)-ROI/病灶体积的计算、Li‘s have a solution and plan.
- 机器学习经典算法之线性回归sklearn实现
- python鼠标事件 详解_Python selenium键盘鼠标事件实现过程详解
- 第三周作业(三)WordCount
- python 操作excel神器_【转】多图+代码 | 详解Python操作Excel神器openpyxl的各种操作!...
- 算法不会,尚能饭否之栈
- 快速搭建企业级邮件系统iRedMail+Mysql+Postfix+php
- 存储总结——DASNASSAN
- Cadence Allegro PCB设计准备工作图文教程【入门篇1-3】
- 招聘笔试c语言题库,2014年腾讯校园招聘C语言笔试题含答案
- matlab中的yalmip工具箱 教程,yalmip工具箱及其教程。凸规划问题如何用yalmip工具箱优化?...
- 基于SSM实现台球厅计时收费系统
- 怎样快速生成一个动态二维码?动态个性二维码怎么做?
- Kmplayer硬件解码高清视频优化设置
- 利用Python库中的imageio生成GIF格式的动图
- 2010年终总结报告
- 转载 - Linux使用技巧锦集
- c语言 ZZ转字符串,C语言 字符串中的转义字符与字符串的长度 zz
- 痘痘标记的5种健康地图
- buffer pool详解(free链表+flush链表+lru链表)