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

相关推荐
猿小喵25 分钟前
MySQL四种隔离级别
数据库·mysql
Y编程小白31 分钟前
Redis可视化工具--RedisDesktopManager的安装
数据库·redis·缓存
洪小帅1 小时前
Django 的 `Meta` 类和外键的使用
数据库·python·django·sqlite
祁思妙想1 小时前
【LeetCode】--- MySQL刷题集合
数据库·mysql
V+zmm101342 小时前
教育培训微信小程序ssm+论文源码调试讲解
java·数据库·微信小程序·小程序·毕业设计
m0_748248022 小时前
【MySQL】C# 连接MySQL
数据库·mysql·c#
小高不明5 小时前
仿 RabbitMQ 的消息队列2(实战项目)
java·数据库·spring boot·spring·rabbitmq·mvc
DZSpace5 小时前
使用 Helm 安装 Redis 集群
数据库·redis·缓存
张飞光5 小时前
MongoDB 创建集合
数据库·mongodb
Hello Dam5 小时前
接口 V2 完善:基于责任链模式、Canal 监听 Binlog 实现数据库、缓存的库存最终一致性
数据库·缓存·canal·binlog·责任链模式·数据一致性