QT QStringList类常见用法

2023-12-05 12:44
文章标签 常见 qt 用法 qstringlist

本文主要是介绍QT QStringList类常见用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0. 实例化方式

QStringList fonts = { "Arial", "Helvetica", "Times" };

1. 三种遍历方式

    QStringList fonts = { "Arial", "Helvetica", "Times" };// 类STL迭代器for(auto f: fonts){qDebug() << f;}// 索引定位for(int i = 0; i < fonts.size(); i++){qDebug() << fonts[i];}// 类java的迭代器QStringListIterator javaStyleIterator(fonts);while (javaStyleIterator.hasNext())qDebug() << javaStyleIterator.next() << Qt::endl;

2.添加方式

    // 使用重载运算符 <<QStringList fonts;fonts << "Arial"<< "Helvetica"<< "Times";// 使用appendfonts.append("Arial");// 使用insert,fonts.insert(fonts.size(), "hello");// 末尾添加fonts.insert(0, "hello"); //开头添加// 使用+=fonts += "Hei";

3. 和QString相互转换

     QString str = fonts.join(", ");// str == "Arial, Helvetica, Times, Courier"
     QStringList list;list = str.split(',');// list: ["Arial", "Helvetica", "Times", "Courier"]

4.查看是否包含某个值

    if(fonts.contains("Arial")){qDebug() << "Yes";}

5.首尾的删除和添加,其实大部分qt的类都具有这个函数

    fonts.pop_back();fonts.pop_front();fonts.push_back("hello");fonts.push_front("hello");

6.首尾的查看

    QString str = fonts.first();QString str1 = fonts.back();

7. 返回某个值

    int index = 1;QString str = fonts[index];QString str1 = fonts.at(index); // 使用at函数会稍微快一丢丢,因为[]其实是重载的运算符,底层调用的at,在极端追求性能的场景可以使用。

8.替换字符,QStringList支持普通字符替换和正则表达式

     // 普通字符替换QStringList list;list << "alpha" << "beta" << "gamma" << "epsilon";list.replaceInStrings(QRegularExpression("^a"), "o");// list == ["olpha", "beta", "gamma", "epsilon"]

    // 正则表达式QStringList list;list << "Bill Clinton" << "Murray, Bill";list.replaceInStrings(QRegularExpression("^(.*), (.*)$"), "\\2 \\1");// list == ["Bill Clinton", "Bill Murray"]

这篇关于QT QStringList类常见用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/457608

相关文章

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

bytes.split的用法和注意事项

当然,我很乐意详细介绍 bytes.Split 的用法和注意事项。这个函数是 Go 标准库中 bytes 包的一个重要组成部分,用于分割字节切片。 基本用法 bytes.Split 的函数签名如下: func Split(s, sep []byte) [][]byte s 是要分割的字节切片sep 是用作分隔符的字节切片返回值是一个二维字节切片,包含分割后的结果 基本使用示例: pa

JVM 常见异常及内存诊断

栈内存溢出 栈内存大小设置:-Xss size 默认除了window以外的所有操作系统默认情况大小为 1MB,window 的默认大小依赖于虚拟机内存。 栈帧过多导致栈内存溢出 下述示例代码,由于递归深度没有限制且没有设置出口,每次方法的调用都会产生一个栈帧导致了创建的栈帧过多,而导致内存溢出(StackOverflowError)。 示例代码: 运行结果: 栈帧过大导致栈内存

【QT】基础入门学习

文章目录 浅析Qt应用程序的主函数使用qDebug()函数常用快捷键Qt 编码风格信号槽连接模型实现方案 信号和槽的工作机制Qt对象树机制 浅析Qt应用程序的主函数 #include "mywindow.h"#include <QApplication>// 程序的入口int main(int argc, char *argv[]){// argc是命令行参数个数,argv是

Python QT实现A-star寻路算法

目录 1、界面使用方法 2、注意事项 3、补充说明 用Qt5搭建一个图形化测试寻路算法的测试环境。 1、界面使用方法 设定起点: 鼠标左键双击,设定红色的起点。左键双击设定起点,用红色标记。 设定终点: 鼠标右键双击,设定蓝色的终点。右键双击设定终点,用蓝色标记。 设置障碍点: 鼠标左键或者右键按着不放,拖动可以设置黑色的障碍点。按住左键或右键并拖动,设置一系列黑色障碍点

UVM:callback机制的意义和用法

1. 作用         Callback机制在UVM验证平台,最大用处就是为了提高验证平台的可重用性。在不创建复杂的OOP层次结构前提下,针对组件中的某些行为,在其之前后之后,内置一些函数,增加或者修改UVM组件的操作,增加新的功能,从而实现一个环境多个用例。此外还可以通过Callback机制构建异常的测试用例。 2. 使用步骤         (1)在UVM组件中内嵌callback函

使用Qt编程QtNetwork无法使用

使用 VS 构建 Qt 项目时 QtNetwork 无法使用的问题 - 摘叶飞镖 - 博客园 (cnblogs.com) 另外,强烈建议在使用QNetworkAccessManager之前看看这篇文章: Qt 之 QNetworkAccessManager踏坑记录-CSDN博客 C++ Qt开发:QNetworkAccessManager网络接口组件 阅读目录 1.1 通用API函数

这些ES6用法你都会吗?

一 关于取值 取值在程序中非常常见,比如从对象obj中取值 const obj = {a:1b:2c:3d:4} 吐槽: const a = obj.a;const b = obj.b;const c = obj.c;//或者const f = obj.a + obj.b;const g = obj.c + obj.d; 改进:用ES6解构赋值

模拟实现vector中的常见接口

insert void insert(iterator pos, const T& x){if (_finish == _endofstorage){int n = pos - _start;size_t newcapacity = capacity() == 0 ? 2 : capacity() * 2;reserve(newcapacity);pos = _start + n;//防止迭代

【Kubernetes】常见面试题汇总(三)

目录 9.简述 Kubernetes 的缺点或当前的不足之处? 10.简述 Kubernetes 相关基础概念? 9.简述 Kubernetes 的缺点或当前的不足之处? Kubernetes 当前存在的缺点(不足)如下: ① 安装过程和配置相对困难复杂; ② 管理服务相对繁琐; ③ 运行和编译需要很多时间; ④ 它比其他替代品更昂贵; ⑤ 对于简单的应用程序来说,可能不