2 linli 5400 linli_5400 于 2013.08.22 10:22 提问

为什么QT需要封装QString,而不需要封装 int double ???? 真心求解

做了一些QT的小项目,自己也写了 QStingtoStr的一些转换函数,可是不懂QT为什么非要把string给封装了,又不提供转换的函数。

1个回答

mevip
mevip   2013.11.25 16:05
已采纳

下面这些还不够吗,还要自己写转换方法?
std::string QString::toStdString () const
Returns a std::string object with the data contained in this QString. The Unicode data is converted into 8-bit characters using the toAscii() function.

This operator is mostly useful to pass a QString to a function that accepts a std::string object.

If the QString contains Unicode characters that the QTextCodec::codecForCStrings() codec cannot handle, using this operator can lead to loss of information.

This operator is only available if Qt is configured with STL compatibility enabled.

See also toAscii(), toLatin1(), toUtf8(), and toLocal8Bit().

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Qt中 QString 和int,double等的转换
Qt中 int ,float ,double转换为QString有两种方法1.使用QString::number(); 如:long a = 63; QString s = QString::number(a, 10); // s == "63" QString t = QString::number(a, 16).toUpper(); // t == "3
Qt中 int ,float ,double转换为QString
Qt中 int ,float ,double转换为QString 有两种方法 1.使用 QString::number(); 如: [cpp] view plaincopyprint?    1. long a = 63;      2. QString s = QString::number(a, 10);             // s == "63"
TCP/IP协议详解——IP协议,ARP协议,ICMP协议
IP协议是TCP/IP协议的核心,所有的TCP,UDP,IMCP,IGCP的数据都以IP数据格式传输。要注意的是,IP不是可靠的协议,这是说,IP协议没有提供一种数据未传达以后的处理机制--这被认为是上层协议--TCP或UDP要做的事情。所以这也就出现了TCP是一个可靠的协议,而UDP就没有那么可靠的区别。 1.IP数据格式 Ip Header如下: 解释两点: 首先IP协议头
QString 怎么保留double型数字小数点后两位数
可以把它转为字符串,对字符串进行位数限制处理。
QString 转double,double转QString 中的小数点问题
我们在编程过程中总是遇到一些小数点的问题很烦人,现在我就来说一下。 1.double 转QString 小数点问题 double data =  40.215586810458; QString str = QString::number(data,'f',10); // f 表示非科学记数法  10表示小数点后保留10位 2.QString 转 double
QString 保留小数点后一位数 & QT int 转16进制QString并补零
QString 保留小数点后一位。 double num; QString::number(num,'f',1));  //保留几位1就改成几 int 转16进制QString并补零 int vibID; QString key = QString("%1").arg(vibID, 8, 16, QLatin1Char('0'));   //8代表宽度,16表示16进制,
Qt学习-QString用法总结( setNum, number 函数)
来源:http://tmjfzy.blog.163.com/blog/static/664470252012646128230/          Title : QStringQString::setNum()QStirng::number() [static] Q : Qt 转变数字为字符串,16进制、8进制、2进制等等 把157转变成16进制、8进
qt中QString与String与int,double,char*之间的转换
Qt 各种数据类型转换是本文介绍的内容,对于类型不同的转换,本人认为还是很好实现的。先来看内容。 AD:2013云计算架构师峰会课程资料下载 本文介绍的是Qt 各种数据类型转换,病没有多少内容,只是实例操作了一下,多多参考!如果你是初学者的话。在编程的过程中,总是不断的去转换数据类型。先来看看内容。 1、QString --> string QStr
Qt中QString与基本类型的转换问题
最近在编程时,遇到了一个问题,大致是一堆float类型的数据,需要转换为QDateTime类型,于是经过查阅文档,发现Qt中的一些基本的数据类型比如int, float, double 转换成QString类型是比较方便的,Qt的API会封装相关的方法,如果反向转换的话,需要自己手动编程。
Qt - double转换QString, 并设置精度
double转换QString, 并设置精度 本文地址: http://blog.csdn.net/caroline_wendy Qt中, 很多函数都需要使用QString类型, double类转换QString类型, 使用QString::number()函数; 第一个参数为: 需要转换的double数据; 第二个参数为: 基数, 10, 2, 8等; 第三个参数为精