轉載地址: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(); |
|
|