Qt数据结构-QString一:常用方法
一、拼接字符串
拼接字符串有两种方法: += 、 append
QString s;
s = "hello";
s = s + " ";
s += "world";
qDebug() << s; // "hello world"
QString s1 = "hello" ;
QString s2 = "world" ; s1.append(" ");
s1.append(s2);
qDebug() << s1; // "hello world"
二、格式化字符串
格式化字符串的使用方法和Python的差不多,都是比较简单的,也是有两种方法: sprintf() 、 arg()
QString s1, s2;
s1.sprintf("%s", "hello");
s2.sprintf("%s %s", "hello", "world"); qDebug() << s1; // "hello"
qDebug() << s2; // "hello world"
QString s1;
s1 = QString("My name is %1, age %2").arg("zhangsan").arg(18); qDebug() << s1; // "My name is zhangsan, age 18"
三、编辑字符串
处理字符串的方法有种:
insert() 在原字符串特定位置插入另一个字符串
QString s = "hello";
s.insert(0, "aa"); qDebug() << s; // "aahello"
QString s = "hello";
s.prepend("abc_"); qDebug() << s; // "abc_hello"
QString s = "hello";
s.replace(0, 3, "a"); // 0-3的字符替换成a qDebug() << s; // "alo"
QString s = " hello";
s = s.trimmed(); qDebug() << s; // "hello"
四、判断
QString s = "hello"; // true,大小写不敏感
qDebug() << s.startsWith("H", Qt::CaseInsensitive); // true,大小写敏感
qDebug() << s.startsWith("h", Qt::CaseSensitive);
qDebug() << QString().isNull(); // true
qDebug() << QString().isEmpty(); // true
qDebug() << QString("").isNull(); // false
qDebug() << QString("").isEmpty(); // true
五、字符串间比较
operator<(const QString&) // 字符串小于另一个字符串,true
operator<=(const QString&) // 字符串小于等于另一个字符串,true
operator==(const QString&) // 两个字符串相等,true
operator>=(const QString&) // 字符串大于等于另一个字符串,true // 比较两个字符串,返回数字
localeAwareCompare(const QString&, const QStriing&) // 加入了大小写是否敏感参数,返回数字
compare(const QString&, const QString&, Qt::CaseSensitivity)
六、字符串格式转换
toInt() // 转整形
toDouble() // 转双进度浮点数
toFloat() // 转单精度浮点数
toLong() // 转长整型
toLongLong() // 转长长整形 toAscii() // 返回一个ASCII编码的8位字符串
toLatin1() // 返回一个Latin-1(ISO8859-1)编码的8位字符串
toUtf8() // 返回一个UTF8编码的8位字符串
toLocal8Bit() // 返回一个系统本地编码的8位字符串
Qt数据结构-QString一:常用方法的更多相关文章
- Qt 的QString类的使用
Qt的QString类提供了很方便的对字符串操作的接口. 使某个字符填满字符串,也就是说字符串里的所有字符都有等长度的ch来代替. QString::fill ( QChar ch, int size ...
- QT之QString的arg方法
转载.标记一下,总结的很好 转自 http://www.cnblogs.com/lomper/p/4135387.html 在QT的QString中,arg方法类似于C中的printf中使用的格式输出 ...
- Qt的QString转换问题
之前是写C#的,涉及类型转换要么是强转,类似(String)这样,要么是用Converter提供的转换方法,但是今天开发qt界面的时候,使用(QString)强转int类型的时候出现了乱码: 后来研究 ...
- QT数据结构内存分配策略
在QT的Reference中无意看到了QString及其他类型数据结构内存的分配策略,翻译并记录一下. 在QString的数据结构中,QString通过一次附加一个字符来动态构建字符串.假设我们向QS ...
- Qt中 QString 和int, char等的“相互”转换
转载:http://blog.csdn.net/ei__nino/article/details/7297791 Qt中 int ,float ,double转换为QString 有两种方法 1.使用 ...
- Qt中 QString 和int, char等的“相互”转换,关键是QString.toLocal8Bit().data();
Qt中 int ,float ,double转换为QString 有两种方法 1.使用 QString::number(); 如: long a = 63; QString s = QString:: ...
- Qt 中QString 字符串操作:连接、组合、替换、去掉空白字符
Qt中的字符串类 QString类 保存了16位Unicode值,提供了丰富的操作.查询和转换等函数. QString 字符串有如下几个操作符: (1) "+" 用于组合两个字符串 ...
- Qt下 QString转char*
Qt下面,字符串都用QString,确实给开发者提供了方便.Qt再使用第三方开源库时,由于库的类型基本上都是标准的类型,字符串遇的多的就是Char*类型 Qt再使用第三方开源库时,由于库的类型基本上都 ...
- QT中QString 与 int float double 等类型的相互转换
Qt中 int ,float ,double转换为QString 有两种方法 1.使用 QString::number(); 如: long a = 63; QString s = QString:: ...
- Qt中QString、QByteArray、int、double之间转换
最近写Qt中的tcp网络编程,Socke连接后,接受到的数据类型是字节型,这就涉及到了大量的类型转换,在网上辗转几辄,总算有了点结果,特此跟大家分享.好了,不废话,下面细说. 方法/步骤 1. ...
随机推荐
- Vue.beforeEach is not a function报错
使用导航守卫改变页面的title时报错了,明明在beaforeEach的参数中写了箭头函数也报下面的错误 后面发现我的问题在于直接导出了export.default new Router({--})中 ...
- DataGear 自定义数据可视化图表
DataGear内置了很多常用的图表(折线图.柱状图.饼图.散点图.雷达图.地图等等),能满足大部分数据可视化需求,当内置图表无法满足时,则可以通过自定义图表或插件的方式,实现特定业务的数据可视化需求 ...
- MindSponge分子动力学模拟——使用MDAnalysis工具进行后分析(2024.02)
技术背景 分子动力学模拟(Molecule Dynamics Simulation,MD),本质上是一门采样技术.通过配置力场参数.拓扑结构和积分器,对一个给定的体系不断的采样,最终得到一系列的轨迹. ...
- 【Azure 应用服务】App Service 部署txt静态文件和Jar包在不同目录中的解决办法
问题描述 在Web App wwwroot (Windows系统中)根目录下如何部署一个jar包和一个text文件,让两个文件都能被访问? 解决办法 Jar包和Text文件都分别放置在两个单独的文件夹 ...
- 聊聊微信小程序的流式(stream)响应请求
场景:类似ChatGPT的逐字显示效果. 流程:服务端我用Python的flask框架(向外提供API接口)实现,服务部署在replit上,Python调用azure 的chatgpt服务(需要申请) ...
- Jmeter 响应断言你知道多少?
1 断言各组件介绍 Apply to:同上 测试字段: * 响应文本:响应体 * 响应代码:响应状态码 * 响应信息:状态码的消息 * 响应头:顾名思义就是响应头 * 请求头:顾名思义就是请求头 * ...
- C++ //vector 容器构造 vector赋值操作 vector 容量大小 vector插入和删除 //vector数据存取 vector互换容器 vector预留空间
1 //vector 容器构造 vector赋值操作 vector 容量大小 vector插入和删除 2 //vector数据存取 vector互换容器 vector预留空间 3 #include&l ...
- 函数指针 int (*add)( )
原文 首先它是一个指针,一个指向函数的指针,在内存空间中存放的是函数的地址: int Add(int x,int y) { return x+y; } int main() { printf(&quo ...
- vitepress 发布到 gitee上的build命令 自动设置base
docs.vitepress\config.js const argv = require('minimist')(process.argv.slice(2)) const build = argv. ...
- python中记录打印的log模块logging的用法实例
日志基础教程 日志是对软件执行时所发生事件的一种追踪方式.软件开发人员对他们的代码添加日志调用,借此来指示某事件的发生.一个事件通过一些包含变量数据的描述信息来描述(比如:每个事件发生时的数据都是 ...