文章目录
1、QString常用转换
1.1、QString转(int、float、double)
// 转int
QString strAge("18");
int age = strAge.toInt();
// 转float
QString strPI("3.14");
float PI = strPI.toFloat();
// 转double
double dPI = strPI.toDouble();
1.2、(int,float,double)转(QString)
int year = 1949;
float width = 6.6f;
QString strYear,strHeight;
strYear = strYear.number(year);
strHeight = strHeight.setNum(width);
qDebug()<<strYear;
qDebug()<<strHeight;
1.3、const char* 转QString
const char* hi = "hi";
QString strhi(hi);
qDebug() << strhi;
1.4、 QString 转 QByteArray 转const char*
QString strTom = "TOM";
QByteArray bstrtom = strTom.toUtf8();
const char* cTom = bstrtom.data();
qDebug() << cTom;
示例
QString str("hello");
qDebug() << str; // "hello"
// QString->ByteArray->char*
qDebug() << str.toUtf8().data(); // hello
2、常用方法
2.1、拼接
QString speopeo0 = QString("%1%2%3").arg("今天").arg(11).arg("点");
qDebug()<<speopeo0;
2.2、返回索引字符at(n)
QString sAnimal = "crab";
QChar c = sAnimal.at(2);
qDebug()<<c;
2.3、插入字符串
QString sMen = "三";
QString SFish = "鱼的记忆是秒钟的故事";
// 第5给位置插入sMen这个字符串
SFish.insert(5,sMen.toUtf8());
qDebug()<<SFish;
// prepend 在字符串起始位置插入
SFish.prepend("热带");
qDebug()<<SFish;
2.4、字符串替换
// replace() 替换 参数:替换起始位置,替换字符数,替换的内容
SFish.replace(7,3,"三个月");
qDebug()<<SFish;
2.5、字符串去掉空格
// trimmed() 去除字符串两端的空格
SFish = " "+SFish+" ";
qDebug()<<SFish;
qDebug()<<SFish.trimmed();
// simplified 去除两端空格, 中间空格以一个空格替代
SFish = "Fish had a bad memory. ";
qDebug()<<SFish.simplified();
2.6、分割字符串(split、mid)
QString strTime = "1949/10/1";
QStringList timeList = strTime.split("/");
foreach(QString ss,timeList)
qDebug()<<ss;
// mid() 截取字符串 从第五个字符开始截取,截取三个字符
QString SFriends = "汤姆和猫是好朋友";
qDebug()<<SFriends.mid(5,3);
3、QStringList 字符串链表
3.1、遍历
QStringList weekList;
weekList<<"星期一"<<"星期二"<<"星期三"<<"星期四";
weekList.append("星期五");
qDebug()<<weekList; // ("星期一", "星期二", "星期三", "星期四", "星期五")
for(int i=0;i<weekList.size();i++)
qDebug()<<weekList.at(i);
// STL迭代器
QStringList::iterator it = weekList.begin();
for(;it!=weekList.end();it++)
{
qDebug()<<*it;
}
3.2、包含contains()
QStringList weekList;
weekList<<"星期一"<<"星期二"<<"星期三"<<"星期四";
// 链表中是否有星期八: false
qDebug()<<"链表中是否有星期八:"<<weekList.contains("星期八");
3.3、插入元素insert
QStringList weekList;
weekList<<"星期一"<<"星期二"<<"星期三"<<"星期四";
weekList.insert(0,"星期零");
qDebug()<<weekList; // ("星期零", "星期一", "星期二", "星期三", "星期四")
3.4、删除
// removeFirst() 删除头
weekList.removeFirst();
// 删除尾
weekList.removeLast();
// removeOne 删除某个元素
weekList.removeOne("星期一");
// 删除指定位置元素
weekList.removeAt(0);
// 清空
weekList.clear();