QString是QT基于std::string类型自定义的一种新类型,用来实现更方便的字符串操作。
以下对QString的常用功能进行展示,并提供与其他类型的转化方法(string, char*, int, float )
main.cpp
#include <QString>
#include <QDebug>
using namespace std;
#include <iostream>
//QT简单入门实例2【QString使用】
int main()
{
/*****************************QString 使用*******************************/
//初始化字符串
QString str("A,B");
qDebug()<<str;
//追加元素
str.append(",D");
qDebug()<<str;
//插入元素
str.insert(3,",C");
qDebug()<<str;
//删除元素
qDebug()<<str.remove(str.size()-2,2);
//查询元素索引值
qDebug()<<str.indexOf("C");
//替换元素
str.replace(0,1,"a");
str.replace(2,1,"b");
str.replace(4,1,"c");
qDebug()<<str;
//获取长度
qDebug()<<str.size();
//使用索引值遍历(推荐,因为比较方便)
for( int i = 0; i < str.size(); i++ ){
QString s=str.at(i);
qDebug()<<s;
}
//使用迭代器遍历
// for( QString::iterator itstr = str.begin(); itstr != str.end(); itstr++ ){
// QString s=*itstr;
// qDebug()<<s;
// }
//取出一部分值
qDebug()<<str.mid(1,3);
//拆分(根据分隔符",")
QStringList strlist = str.split(",");
foreach (QString s, strlist) {
qDebug()<<s;
}
qDebug()<<"\n\n\n";
/*****************************与其他类型相互转化*******************************/
// QString -> QByteArray
QString teststr1="hello";
QByteArray ba = teststr1.toLocal8Bit();
qDebug()<<ba;
// QByteArray -> QString
QString bt_str=QString(ba);
qDebug()<<bt_str;
// QString -> string
QString teststr2="china";
string s_str = teststr2.toStdString();
cout<<s_str<<endl;
//string -> QString
QString str_fs=QString::fromStdString(s_str);
qDebug()<<str_fs;
// QString -> char*
QString teststr3="nanjing";
char* ch1 =(char*) teststr3.toStdString().c_str();
qDebug()<<ch1;
QString str_fc=QString(ch1);
qDebug()<<str_fc;
// QString -> int
QString teststr4="108";
int v_i = teststr4.toInt();
qDebug()<<v_i;
// int -> QString
QString i_str = QString::number(v_i);
qDebug()<<i_str;
// QString -> float
QString teststr5="9.16";
float v_f = teststr5.toFloat();
qDebug()<<v_f;
// float -> QString
QString f_str = QString::number(v_f);
qDebug()<<f_str;
return 0;
}