QT:常用數據類型轉換

在這裏簡單總結一下在QT中常用數據類型的轉換的知識。

 

第1種:QString 轉 char 類型數組

//從輸入框中獲取數據
QString data = ui->input_textEdit->document()->toPlainText();
char buff[24];//具體大小根據實際情況來定
for(int i = 0; i < data.len; i ++)
{
    buff[i] = data.at[i].toLatinl();
}

第2種: char 類型數組轉QString

char buff[24];
//TODO:填充數組數據
QString data = QString(buff);

第3種: int類型數據轉QString

int value = 10;
QString data = QString::number(value);

第4種:QString轉int類型數據

QString data = "10";
int value = 0;

value = data.toInt();//此時value = 10

第5種:QString轉QByteArray

QByteArray byte_data;
QString data;//從輸入框中獲取的數據
byte_data = data.toLatinl();

第6種:QByteArray轉QString

QByteArray byte_data;
QString data;
data = QString(byte_data);

第7種:char* 轉QString

//方法1:
char *ch = "hello world";
QString data = str(ch);

//方法2:
QString data = QString::fromUtf8(ch);

//方法3:
QString data = QString(QLatin1String(ch));

第8種:QString轉char*

//方法1:藉助QByteArray類
Qstring  data;
char*  ch;
QByteArray byte_data= data.toLatin1();    
ch=byte_data.data();

//方法2:先將QString轉換爲標準庫string類型,然後再將string轉換爲char*
std::string ch= data.toStdString();

第9種:QString轉QHostAddress

//常用網絡轉換
//從輸入框中獲取輸入的IP地址,格式XXX.XXX.XXX.XXX
QString ip_buff = ui->ip_input_textEdit->document()->toPlainText();
QHostAddress ip_addr = QHostAddress(ip_buff);
//示例,UDP發送數據
//參數類型QByteArray、int 、QHostAddress 、quint16
udp_server->writeDatagram(byte_data,data.size(),ip_addr,ip_port);

第10種:QHostAddress轉QString

//常用網絡轉化,得到ip,然後填充到顯示區域
//示例,udp讀取數據報文
QByteArray udp_datagram;
QHostAddress udp_client_address;
quint16 udp_client_port;
udp_server->readDatagram(udp_datagram.data(),udp_datagram.size(), &udp_client_address, &udp_client_port);
//轉換
QString ip_addr= udp_client_address.toString();
//填充ip_addr,顯示
ui->udp_server_ip_textEdit->setText(ip_addr);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章