转载地址:QT中的类型转换
QString->string | QString.toStdString() |
string->QString | QString::fromStdString(string) |
QString->int,double,char* | QString::toInt() QString::toDouble() QString.toStdString().c_str() |
int,double,char*->string | 可以采用<sstream>里的stringstrem 以int为例,int a = 3; std::stringstream ss; str::string strInt; ss << a; ss >> strInt 其他两个一样。 |
int,double,char*->QString | 一种方法可以先转string,再转QString。 另一种方法查看QString类的静态函数QString::number() |
double int的互转 | 可采用static_cast |
char *与const char * | char *ch1=”hello1” const char *ch2=”hello2” ch2=ch1;不报错,但有警告 ch1=(char *)ch2 |
char与QString的互转 | char a =’b’ QString str; str = QString(a)
QString str=”abc”; char *ch; QByteArray ba = str.toLatin1(); ch = ba.data() |
char与QByteArray的互转 | char *ch; QByteArray byte; ch = byte.data();
char *ch; QByteArray byte; Byte = QByteArray(ch); 遇到0就截止 QByteArray byte = QByteArray::fromRawData(Buf, 5);可以包括0 |
QString与QByteArray的互转 | QByteArray byte; QString string; byte = string.toAscii();
QByteArray byte; QString string; string = QString(byte); |
StrToInt | QString str = "FF"; bool ok; int hex = str.toInt(&ok, 16); // hex == 255, ok == true int dec = str.toInt(&ok, 10); // dec == 0, ok == false |
IntToBa | QByteArray::number(messagePagesCount) |
IntToStr | QString(QByteArray::number(messagePagesCount)) |
IntToHex | quint8 data; QByteArrayresult=QByteArray(1,data); returnresult.toHex().toUpper(); |
|
|