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

相关推荐
代码吐槽菌1 小时前
基于SSM的汽车客运站管理系统【附源码】
java·开发语言·数据库·spring boot·后端·汽车
伏虎山真人1 小时前
开源数据库 - mysql - 组织结构(与oracle的区别)
数据库·mysql·开源
精致先生2 小时前
问题记录01
java·数据库·mybatis
Channing Lewis2 小时前
salesforce developer console 匿名执行是以什么身份执行的
数据库·安全·salesforce
bw8767206873 小时前
金融工程--pine-script 入门
数据库·金融
三日看尽长安花4 小时前
【Redis:原理、架构与应用】
数据库·redis·架构
尘浮生5 小时前
Java项目实战II基于Spring Boot的美食烹饪互动平台的设计与实现(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·微信小程序·小程序·美食
forestqq5 小时前
构建后端为etcd的CoreDNS的容器集群(七)、编写适合阅读的域名管理脚本
运维·数据库·etcd
hongkid5 小时前
MongoDB常用操作
数据库·mongodb