文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Qt QString如何使用

2023-06-30 15:18

关注

这篇文章主要讲解了“Qt QString如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Qt QString如何使用”吧!

QString则使用隐式共享,又称回写复制。当两个对象共享同一份数据时,数据内容不改变,则不进行数据的复制,即将深拷贝和浅拷贝结合起来使用。

QString使用时在连续的内存块上保存字符串,QString内存分配策略如下:

+:连接字符串

QString str1 = "I ";QString str2 = "LOVE ";QString str3 = "YOU";QString str4 = str1 + str2 + str3; //I LOVE YOU

append():追加字符串

QString str1 = "Hello ";QString str2 = "World";str1.append(str2);//Hello Worldstr1.append("!");//Hello World !

sprintf():赋值/连接/追加字符串

QString str;str.sprintf("%s","Nice to ");//str = Nice tostr.sprintf("%s %s","Nice to ", "meet you");//str = Nice to meet you

arg():同上

QString str;str = QString("My name is %1, I'm %2 old.").arg("Paul").arg("17").//str = My name is Paul, I'm 17 old.

insert():特定位置插入字符串

QString str = "This is test code.";str.insert(8,"not ");//str = This is not test code.

prepend():开头插入字符串

QString str = "This is test code.";str.prepend("Oh! ");//str = Oh! This is test code.

replace():替换原字符串某些字符

QString str = "This is test code.";str.replace(13,5,"data.");//str = This is test data.

trimmed():移除字符串两端的空白字符

QString str = "   This is test code.   ";QString str1 = str.trimmed();//str = This is test code.

simplified():移除两端空白字符,使用单个空格字符“ ”替代

QString str = "   This is test code.   ";QString str1 = str.simplified();//str = " This is test code. "

startsWith():检查字符串是否以某个字符串开头,Qt::CaseSensitive指定

QString str = "This is test code.";bool result = str.startsWith("This",Qt::CaseSensitive);//result = trueQString str = "This is test code.";bool result = str.startsWith("is",Qt::CaseSensitive);//result = false

endsWith():功能同上,检查结尾。

QString str = "This is test code.";bool result = str.endsWith("code.",Qt::CaseSensitive);//result = trueQString str = "This is test code.";bool result = str.endsWith("is",Qt::CaseSensitive);//result = false

contains():判断一个字符串是否出现过。

QString str = "This is test code.";bool result = str.contains("code.",Qt::CaseSensitive);//result = trueQString str = "This is test code.";bool result = str.contains("what",Qt::CaseSensitive);//result = false

localeAwareCompare(const QString&, const QString&):比较两个字符串,前小于后返回负值,相等返回0,大于返回正值。此比较时基于平台相关的本地字符集。

qDebug()<<"Result:"<<QString::localeAwareCompare("good","bad");//Result: 1

compare((const QString&, const QString&,Qt::CaseSensitivity):指定是否进行大小写比较,用法同上。

<:比较是否小于,是则返回true。

<=:比较是否小于等于,是则返回true。

==:比较是否相等,是则返回true。

>=:比较是否大于等于,是则返回true。

>:比较是否大于,是则返回true。

......

toInt():转整型。

toDouble():转双精度浮点型。

toFloat():转浮点型。

toLong():转长整型。

toLongLong():转64位长整型。

......

QByteArray():QString会返回一个const char *的QByteArray,既可以存储原始字节,也可以存储以“\0”结尾的8位字符串。

QString str = "I'm good man";QByteArray ba = str.toAscii();ba.append("yes,very good");

toAscii():返回一个ASCII编码的8位字符串。

toLatin1():返回一个Latin-1(ISO8859-1)编码的8位字符串。

toUtf8():返回一个UTF-8编码的8位字符串,UTF-8是ASCII码的超集,它支持整个Unicode字符集。

toLocal8Bit():返回一个系统本地编码的8位字符串。

isEmpty():检查是否空字符串。

isNull():检查是否为空。

QString().isNull; //trueQstring().isEmpty(); //trueQString("").isNull; //falseQString("").isEmpty(); //true

感谢各位的阅读,以上就是“Qt QString如何使用”的内容了,经过本文的学习后,相信大家对Qt QString如何使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯