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博客

相关推荐
保持学习ing1 小时前
day1--项目搭建and内容管理模块
java·数据库·后端·docker·虚拟机
宇钶宇夕2 小时前
EPLAN 电气制图:建立自己的部件库,添加部件-加SQL Server安装教程(三)上
运维·服务器·数据库·程序人生·自动化
爱可生开源社区2 小时前
SQLShift 重磅更新:支持 SQL Server 存储过程转换至 GaussDB!
数据库
贾修行2 小时前
SQL Server 空间函数从入门到精通:原理、实战与多数据库性能对比
数据库·sqlserver
傲祥Ax3 小时前
Redis总结
数据库·redis·redis重点总结
一屉大大大花卷3 小时前
初识Neo4j之入门介绍(一)
数据库·neo4j
周胡杰4 小时前
鸿蒙arkts使用关系型数据库,使用DB Browser for SQLite连接和查看数据库数据?使用TaskPool进行频繁数据库操作
前端·数据库·华为·harmonyos·鸿蒙·鸿蒙系统
wkj0014 小时前
navicate如何设置数据库引擎
数据库·mysql
赵渝强老师4 小时前
【赵渝强老师】Oracle RMAN的目录数据库
数据库·oracle
暖暖木头4 小时前
Oracle注释详解
数据库·oracle