QStringList 使用详解

QT开发之路 企业级开发系列文章,主要目标快速学习、完善、提升 相关技能 高效完成企业级项目开发 分享在企业中积累的实用技能和经验。

通过具体的编码过程、代码示例、步骤详解、核心内容和展示的方法解决遇到的实际问题。

++转载请附上文章出处与本文链接。++

QStringList 使用详解目录

[1 创建](#1 创建)

[2 添加元素](#2 添加元素)

[2.1 append](#2.1 append)

[2.2 操作符](#2.2 操作符)

[3 插入元素](#3 插入元素)

[4 删除元素](#4 删除元素)

[4.1 removeAt](#4.1 removeAt)

[4.2 removeOne](#4.2 removeOne)

[5 访问元素](#5 访问元素)

[6 查找元素](#6 查找元素)

[7 排序](#7 排序)

[8 连接字符串](#8 连接字符串)

[9 分割字符串](#9 分割字符串)

[10 示例代码](#10 示例代码)


QStringList 提供了丰富的功能来处理字符串列表,包括添加、删除、查找、排序和连接等操作。

通过这些方法,可以灵活地管理和操作字符串集合。

1 创建

cpp 复制代码
QStringList list1; // 默认构造
QStringList list2 = {"apple", "banana", "cherry"}; // 使用初始化列表
QStringList list3 = QStringList() << "apple" << "banana" << "cherry"; // 使用流插入

2 添加元素

2.1 append

cpp 复制代码
  QStringList list;
  list.append("apple"); // 添加单个元素
  list.append("banana");

2.2 操作符

cpp 复制代码
  QStringList list;
  list.append("apple"); // 添加单个元素
  list.append("banana");

3 插入元素

cpp 复制代码
list.insert(1, "blueberry"); // 在索引 1 处插入元素
// list 结果为 {"apple", "blueberry", "banana", "cherry", "date"}

4 删除元素

4.1 removeAt

cpp 复制代码
  list.removeAt(2); // 删除索引 2 处的元素
  // list 结果为 {"apple", "blueberry", "cherry", "date"}

4.2 removeOne

cpp 复制代码
  list.removeOne("banana"); // 删除指定元素

5 访问元素

cpp 复制代码
QString firstElement = list.first(); // 获取第一个元素
QString lastElement = list.last(); // 获取最后一个元素
QString elementAtIndex = list.at(0); // 获取指定索引的元素

6 查找元素

cpp 复制代码
int index = list.indexOf("cherry"); // 查找元素的索引
bool contains = list.contains("apple"); // 检查是否包含指定元素

7 排序

cpp 复制代码
list.sort(); // 对列表进行排序

8 连接字符串

cpp 复制代码
QString joinedString = list.join(", "); // 将列表中的元素连接为一个字符串
// 结果为 "apple, blueberry, cherry, date"

9 分割字符串

cpp 复制代码
QString str = "apple,banana,cherry";
QStringList splitList = str.split(","); // 按逗号分割字符串
// splitList 结果为 {"apple", "banana", "cherry"}

10 示例代码

cpp 复制代码
#include <QStringList>
#include <iostream>

int main() {
    // 创建 QStringList
    QStringList list = {"apple", "banana", "cherry"};

    // 添加元素
    list.append("date");
    list << "elderberry";

    // 插入元素
    list.insert(1, "blueberry");

    // 删除元素
    list.removeAt(2); // 删除索引 2 处的元素

    // 访问元素
    std::cout << "First element: " << list.first().toStdString() << std::endl;
    std::cout << "Last element: " << list.last().toStdString() << std::endl;

    // 查找元素
    int index = list.indexOf("cherry");
    std::cout << "Index of cherry: " << index << std::endl;

    // 排序
    list.sort();

    // 连接字符串
    QString joinedString = list.join(", ");
    std::cout << "Joined string: " << joinedString.toStdString() << std::endl;

    // 分割字符串
    QString str = "apple,banana,cherry";
    QStringList splitList = str.split(",");
    std::cout << "Split list: ";
    for (const QString &s : splitList) {
        std::cout << s.toStdString() << " ";
    }
    std::cout << std::endl;

    return 0;
}

11 其它文章

QT基本类使用详解系列文章包括以下内容:

QUUID 使用详解-CSDN博客

QDateTime 使用详解-CSDN博客

QSettings 使用详解_qt qsettings用法-CSDN博客

QFile 使用详解_qfile写文件-CSDN博客

相关推荐
Python自动化直播4 分钟前
自动化笔记:素材管理、命名、轮换的几条土办法
linux·运维·数据库
xiaomuzuirenzhen6 分钟前
2027校招ERP实施顾问:大数据管理与应用专业如何用SQL、BI证明业务能力
大数据·数据库
底层玩家老张25 分钟前
从副本集到分片:百亿级文档数据的KES架构边界
数据库·分布式架构·分片·架构选型·文档数据库
ss27327 分钟前
AI时代首先数据库-PostgreSQL实战笔记 | 16 PostgreSQL子查询与嵌套查询(下)
数据库·笔记·postgresql
川石课堂软件测试41 分钟前
涨薪技术|0到1学会性能测试第8课-Analysis分析图
服务器·数据库·python·sql·jmeter·mysql·容器
SelectDB技术团队1 小时前
云数仓成本结构拆解:五层计费模型与 Apache Doris 托管形态对照
大数据·数据库·elk·全文检索·snowflake
我命由我123451 小时前
SQL 检测脚本
java·数据库·sql·功能测试·单元测试·压力测试·可用性测试
Zenova EdgeOS1 小时前
工业网关数据全链路加密实战:从传输、静态数据到密钥轮
数据库·oracle·边缘计算·工业网关
太理摆烂哥2 小时前
MySQL表的约束
数据库·mysql
Crayon Lin2 小时前
Milvus向量数据库入门
数据库·milvus