目录
Qt中的QString和QStringList常用方法 (*****)
QList转换QString
Qt的QString用法,修改、截取,查找
------------------------------------------------
QList 的本质:
就是 “字符串数组”,而已??
但由于封装更高级,使得操作数组的方法,更简单了。
Qt容器:QStringList
https://blog.csdn.net/kenfan1647/article/details/119079749
一、描述
QStringList 继承自 QList<QString>。 与 QList 一样,QStringList 也是隐式共享的。 它提供基于索引的快速访问以及快速插入和删除。将字符串列表作为值参数传递既快速又安全。
一般我也是会用这个的,很多Qt的api接口也会用到这个类型作为接口。QList的所有功能也适用于QStringList。
参考:Qt扫盲-QStringList字符串列表总结 https://blog.csdn.net/qq_43680827/article/details/128789324
QStringList 的常规使用
总结:
QStringList类提供字符串列表。
QStringList继承自QList < QString >。与QList一样,QStringList是隐式共享的。它提供了快速的基于索引的访问,以及快速插入和删除。将字符串列表作为值参数传递是快速和安全的。
QList的所有功能也适用于QStringList。例如,您可以使用isEmpty()来测试列表是否为空,您可以调用诸如append()、prepend()、insert()、replace()、removeAll()、removeAt()、removeFirst()和removeOne()来修改QStringList的函数。
此外,QStringList提供了一些方便的函数,使字符串的处理列表变得更容易
————————————————
版权声明:本文为CSDN博主「SunnyFish-ty」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33485434/article/details/81027820
QList
https://www.cnblogs.com/ShineLeBlog/p/14989552.html
0、说明
QList<T>
一个QList是存储相同类型一组数据的列表。
QStringList是从QList<String>继承而来,并添加了一些好用的方法,如join()、filter、split()。
QStringList和QList<QString>使用区别和注意事项
简单总结一下:
设置表头的时候,建议使用QStringList;
添加数据的时候,其实区别不是很大。
注意的是:语法不同而已,
QStringList:是像数组一样 nameList[i],这样子使用,
而QList是sexList.at(i)
https://blog.csdn.net/weixin_51559926/article/details/113869724
============================
QList转换QString
(1)QStringList转QString
QStringList list;
list << "a" << "b" << "c" << "d";
QString str = list.join(",");
(2)QString转QStringList
QString string = "name1,name2,name3";
QStringList list = string.split(","); // 如果string是空字符串,list会增加一个空字符串到列表里
————————————————
版权声明:本文为CSDN博主「于大博」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011086209/article/details/86582409
Qt的QString用法,修改、截取,查找
===========================
Qt中的QString和QStringList常用方法
QString定义
QString s1 = "abc";
QString s2("hello");
//字符串连接
QString s = s1 + s2;
//组包
s = QString("a = %1, b = %2, c = %3").arg(250).arg("hello").arg(22.22);
qDebug()<<s; //输出结果:a = 250, b = hello, c = 22.22
s = "a=250,b=hello,c=22.22";
//参数表示按逗号分隔, 拆分出第0段到第1段, 保存到tmp
QString tmp = s.section(",", 0, 1);
qDebug()<<"tmp = "<<tmp; //输出结果:tmp="a=250,b=hello"
s = "a=250,b=hello,c=22.22";
//参数表示按逗号分隔, 拆分出第0段到第0段, 保存到tmp
QString tmp = s.section(",", 0, 0);
qDebug()<<"tmp = "<<tmp; //输出结果:tmp="a=250"
tmp = tmp.section("=", 1, 1);
qDebug()<<"tmp="<<tmp; //输出结果:tmp="250";
//QString转int
int a = tmp.toInt();
qDebug()<<"a="<<a; //输出结果:a=250;
//int转QString组包方式转
tmp = QString("%1").arg(123);
qDebug()<<"tmp="<<tmp; //输出结果:tmp="123"
//int转QString函数方式转
tmp = QString::number(234);
//char *转QString
const char * buf = "hello, world";
QString ss = buf;
qDebug()<<"ss = "<< ss;
//std::string转QString
string s = "hello, world"
QString ss = QString::fromStdString(s);
qDebug()<<"ss = "<< ss;
//std::wstring转QString
std::wstring wstr(L"你好, 世界");
QString ss = QString::fromStdWString(wstr);
qDebug()<<"ss = "<< ss;
//字符数组转QString
char buf2[100] = "hello world";
ss = buf2;
qDebug()<<"ss = "<<ss;
//QString转char *
ss = "hello abc";
//如果没有中文(即字符串为ASCII):
QByteArray tmp = ss.toLatin1();
char * buf3 = tmp.data();
//如果有中文(即字符串为unicode):
QByteArray tmp = ss.toLocal8Bit();
char * buf4 = tmp.data();
//替换QString中字符串
QString text("text-decoration: none");
text.replace("none", "underline");
//去除QString首尾的空格(包括'\t', '\n', '\v', '\f', '\r')
QString text(" text-decoration: none ");
text = text.trimmed();
//字符移除操作
QString test = "hello,china";
QString tmp = test.remove(2, 4); //从下标2的字符开始, 移除4个字符
qDebug() << "test = " << test; //输出hechina
qDebug() << "tmp = " << tmp; //输出hechina
//判断字符是否以某字符或字符串开始/结束(startsWith/endsWith)
QString test= "@192.168.0.1";
if(true == test.startsWith("@"))
{
//do something
}
//判断QString是否空
QString().isEmpty(); // return true
QString("").isEmpty(); // return true
QString(" ").isEmpty(); // return false
QString("abc").isEmpty(); // return false
QString().isNull(); // return true
QString("").isNull(); // return false
QString(" ").isNull(); // return false
QString("abc").isNull(); // return false
//数字高位填0转为字符串
int tmp = 8;
QString strNew = QString("%1").arg(tmp, 4, 10, QLatin1Char('0')); //4表示转为4位字符串, 10表示10进制. '0'表示填0
qDebug() << strNew; // 打印结果: 0008
QStringList
//定义
QStringList list;
//添加字符串
list << "hello";
list << "world";
list.append("abc");//例子2
QStringList chinaMonth;
chinaMonth
<< QStringLiteral("正月")
<< QStringLiteral("二月")
<< QStringLiteral("三月")
<< QStringLiteral("四月")
<< QStringLiteral("五月")
<< QStringLiteral("六月")
<< QStringLiteral("七月")
<< QStringLiteral("八月")
<< QStringLiteral("九月")
<< QStringLiteral("十月")
<< QStringLiteral("冬月")
<< QStringLiteral("腊月")
;//打印
qDebug()<< "list ="<< list;
//遍历
for(int i = 0; i< list.size();++i)
{
QString tmp = list.at(i);
qDebug()<<"tmp ="<< tmp;
}
//使用QStringList拆分QString
QString str = "hello,world,abc,qt";
QStringList list2 = str.split(",");
qDebug()<<"list2="<<list2;
//输出:list2=("hello","world","abc","qt");
//判断QStringList中是否包含某个成员
bool b = list2.contains("123");
//移除QStringList中的成员list2.removeOne("abc");
————————————————
版权声明:本文为CSDN博主「Know your exciting」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/baojiboy/article/details/119204089