当前位置: 首页 > news >正文

QT之QString的用法介绍

QT之QString的用法介绍

    • 成员函数
    • 常见用法

成员函数

1)QString &append(const QString &str)
将 str 字符串追加到当前字符串末尾,并返回修改后的 QString 对象的引用。

2)QString &prepend(const QString &str)
将 str 字符串插入到当前字符串开头,并返回修改后的 QString 对象的引用。

3)QString &insert(int position, const QString &str)
在当前字符串的指定位置插入 str 字符串,并返回修改后的 QString 对象的引用。

4)QString &remove(int position, int n)
从当前字符串中删除指定位置的 n 个字符,并返回修改后的 QString 对象的引用。

5)QString &replace(int position, int n, const QString &str)
用 str 字符串替换当前字符串中指定位置的 n 个字符,并返回修改后的 QString 对象的引用。

6)QString left(int n)
返回当前字符串的前 n 个字符构成的子串。

7)QString right(int n)
返回当前字符串的后 n 个字符构成的子串。

8)QString mid(int position, int n)
返回当前字符串中从指定位置开始的 n 个字符构成的子串。

9)bool startsWith(const QString &str)
检查当前字符串是否以 str 字符串开头,如果是则返回 true,否则返回 false。

10)bool endsWith(const QString &str)
检查当前字符串是否以 str 字符串结尾,如果是则返回 true,否则返回 false。

11)int size()
返回当前字符串的长度(字符数)。

12)const QChar *unicode()
返回指向当前字符串的 Unicode 字符数组的指针。

13)QByteArray toUtf8()
将当前字符串转换为 UTF-8 编码的字节数组并返回。

14)QString &operator=(const QString &other)
将 other 字符串赋值给当前字符串,并返回修改后的 QString 对象的引用。

15)operator const char *() const
将当前字符串转换为 C 风格字符串并返回指向该字符串的指针。

16)operator QByteArray() const
将当前字符串转换为 QByteArray 对象并返回。

17)QString toLower() const
将字符串转换为小写并返回。

18)QString toUpper() const
将字符串转换为大写并返回。

19)QString trimmed() const
去除字符串两端的空格并返回。

20)QString simplified() const
去除字符串中的连续空格并返回。

21)QString leftJustified(int width, const QString &fillChar = QString()) const
将字符串左对齐,并在右侧用指定字符填充至指定宽度。

22)QString rightJustified(int width, const QString &fillChar = QString()) const
将字符串右对齐,并在左侧用指定字符填充至指定宽度。

23)QString centered(int width, const QString &fillChar = QString()) const
将字符串居中,并在两侧用指定字符填充至指定宽度。

24)QStringList split(const QString &separator, SplitBehavior behavior = KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
根据指定的分隔符将字符串拆分为子字符串列表。

25)QString joined(const QString &separator) const
将字符串列表使用指定的分隔符拼接为一个字符串。

26)QString arg(const QString &a, int fieldWidth = 0, int base = 10, int precision = -1, int flags = 0) const
将字符串格式化为指定宽度、进制、精度和标志的数值,并返回结果字符串。

27)QString arg(qlonglong a, int base = 10, int precision = -1, int flags = 0) const
将长整型数值格式化为指定进制、精度和标志的字符串,并返回结果字符串。

28)QString arg(qulonglong a, int base = 10, int precision = -1, int flags = 0) const
将无符号长整型数值格式化为指定进制、精度和标志的字符串,并返回结果字符串。

29)QString arg(double a, int fieldWidth = 0, char formatChar = ‘g’, int precision = -1, int flags = 0) const
将浮点数格式化为指定宽度、格式字符、精度和标志的字符串,并返回结果字符串。

常见用法

1)创建字符串:
可以用 QString 构造函数来创建一个字符串。例如:

QString str1("Hello");
QString str2(10, 'a'); // 创建一个包含10个'a'的字符串

2)字符串连接:
使用 “+”, “+=”, QString::append() 和 insert() 函数可以实现字符串的连接。例如:

QString str1 = "Hello";
QString str2 = "World";
QString str3 = str1 + " " + str2; // "Hello World"QString str4;
str4 += "Hello";
str4 += " ";
str4 += "World"; // "Hello World"str4.append("Hello");
str4.append(" ");
str4.append("World"); // "Hello World"

3)字符串替换:
使用 replace() 函数可以替换字符串中的内容。例如:

QString str = "Hello World";
str.replace(5, 6, "Qt"); // 在第5个字符后插入"Qt",结果为 "Hello QtWorld"

4)字符串截取:
使用 left()、right() 和 mid() 函数可以截取字符串的子串。例如:

QString str = "Hello World";
QString sub1 = str.left(5); // "Hello"
QString sub2 = str.right(5); // "World"
QString sub3 = str.mid(6, 5); // "World"

5)字符串转换:
可以使用 QString 的静态方法 QString::number() 将整数、浮点数转换为字符串。例如:

int num = 123;
QString str1 = QString::number(num); // "123"

可以使用 QString 的 toInt()、toDouble() 和 toFloat() 方法将字符串转换为整型、浮点型和单精度浮点型。例如:

QString str = "123";
int num = str.toInt(); // num == 123
http://www.lryc.cn/news/174898.html

相关文章:

  • 基于Java+SpringBoot+Vue3+Uniapp前后端分离考试学习一体机设计与实现2.0版本(视频讲解,已发布上线)
  • springboot 获取参数
  • 【笔记】离线Ubuntu20.04+mysql 5.7.36 + xtrabackup定时增量备份脚本
  • 树哈希与换根dp:CF763D
  • npm、yarn、pnpm如何清除缓存?
  • 12款最火的AI画图软件,助你探索创新设计
  • cookie信息无法获取问题研究
  • Linux:冯诺依曼系统和操作系统的概念
  • 【操作系统笔记十一】进程间通信
  • 【操作系统】聊聊Linux软中断
  • 公众号迁移个人可以迁移吗?
  • 全国职业技能大赛云计算--高职组赛题卷⑤(容器云)
  • 支撑位和阻力位在Renko和烛台图如何使用?FPmarkets澳福3秒回答
  • 如何在32位MCU用printf()函数打印64位数据
  • Python爬虫程序设置代理常见错误代码及解决方法
  • 3D点云目标检测:Centerformer训练waymo数据集
  • 火山引擎DataLeap推出两款大模型应用: 对话式检索与开发 打破代码语言屏障
  • windows上配置vscode C/C++代码跳转
  • 【Xilinx】基于MPSoC的OpenAMP实现(一)
  • 代码随想录算法训练营总结篇|完结撒花
  • uniapp、vue实现滑动拼图验证码
  • 【ArcGIS】土地利用变化分析详解(矢量篇)
  • VS2022创建控制台应用程序后没有Main了,如何显示Main?
  • 当当网商品详情数据接口
  • ultraEdit正则匹配多行(xml用)
  • Mac上的utools无法找到本地搜索插件
  • win11 administrator 账户运行不提示授权
  • docker部署nginx下日志自动切割方法
  • 3D目标检测实战 | 图解KITTI数据集与数据格式
  • 周界警戒AI算法+视频智能分析在安全生产场景中的应用