数据类型转换
//1 QString与int相互转换
QString qstr = QString::number(123);
int i = qstr .toInt();
//2 QString与string,即std::string
string str = qstr.toStdString();
QString qstr2 = QString::fromStdString(str);
//3 string类型转换成char[]类型
char savePicName[20];
for (int j = 0; j < str.length(); j++)
savePicName[j] = str[j];
//4 QString 转换为 char
QString str=“abc”;
char *ch;
ch = str.toLatin1.data();
//5 Qstring 转换char*问题!
QString qstr(“hello,word”);
const char * p = qstr.toLocal8Bit().data();
const char *p = qstr.toStdString().data();
转换过来的是常量
//6 QString 转换为 Double
QString str=“123.45”;
double val=str.toDouble(); //val=123.45
**//7 QByteArray 转换为 char ***
char *ch;//不要定义成ch[n];
QByteArray byte;
ch = byte.data();
//8 char * 转换为 QByteArray
char *ch;
QByteArray byte;
byte = QByteArray(ch);
//9 QString 转换为 QByteArray
QByteArray byte;
QString string;
byte = string.toLocal8Bit(); 或byte = string…toLatin1();
//10 QByteArray 转换为 QString
QByteArray byte;
QString string;
string = QString(byte);
//转QString
long a =63;
QString str=QString::number(a,16); //str=“3f”;
QString str=QString::number(a,16).toUpper(); //str=“3F”;
把当前时间转化为QString…
QString nowDate = QDateTime::currentDateTime().toString(“yyyy.MM.dd-hh:mm”);
QDateTime qdate = QDateTime.currentDateTime();
datetime = qdate.toString(“yyyy年MM月dd日ddddhh:mm:ss”);
QByteArray 和 QString 互转有无数种方式
如果你QByteArray中的字符不可控,而且QString只是个中转,只是为了稍后能转回QByteArray,
如果QByteArray中字符不可控,先转成可控字符明显更简单,比如通过:QByteArray::toHex() 和 fromHex(),或者 fromBase64() 和 toBase64()
如:
QByteArray byteArray;
QString st r= QString::fromLatin1(byteArray.toHex())