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

Qt 第3课、Qt 中的字符串类

1、C++ 标准库 STL

  • STL 是意义上需要与C++ 一同发布的标准库
  • STL 是一套以模板技术完成的 C++类库
  • STL 中包含了常用的算法和数据结构
  • STL 包含了字符串类

2、Qt 和 STL

  • STL 的具体实现依赖于编译器生产厂商
  • STL 的 “标准” 只是其接口是标准
    — 相同的全局函数
    — 相同的算法类和数据结构类
    — 相同的类成员函数
  • 不同厂商的编译器所带的 STL 存在差异
    — 依赖于STL 开发的 C++ 程序在不同的平台上的行为可能出现差异

3、Qt 中的字符串类

— 采用 Unicode 编码(什么国家的语言都可以)
— 隐式共享技术:节省内存和不必要的拷贝
— 跨平台使用,不要考虑字符串的平台兼容性

  • QString 直接支持字符串和数字的相互转换
  • QString 直接支持字符串的大小比较
  • QString 直接支持不同字符编码间的相互转换
  • QString 直接支持 std::stringstd::wstring
  • QString 直接支持正则表达式

4、QString 的成员函数

QString s = "xiebs"

1、s.append("123");		//字符串s后面加上123,变成xiebs123
2、s.prepend("123");	//字符串s前面加上123,变成123xiebs
3、s.replace("x","p");	//把字符串s里面的字符串x换成&,变成xieps
4、s.sprintf("%d. I'm %s,thank you!",1,"xiebs");	//带格式的输出,最终结果为1. I'm xiebs,thank you!
5int index= s.indexof("i");	//找 s 里面 i 的下标是多少,返回的是一个整数,结果为1
6、s = s.mid(0,index);		//取 0 到 index 之间的子串,结果是 x,[0,index)之间的内容
一般是这样用:s = s.mid(index, s.length());			//取 index到末尾之间的子串间
7、s = s.trimmed();		//去掉字符串s前后的空格
8、s.remove(int position, int n)		//去掉字符串 s 的 position 位置后的 n 个字符
private slots:void onButtonClicked(){QPushButton* btn = reinterpret_cast<QPushButton*>(sender());QString btnText = btn->text();if(btnText == "<-"){if(btnText.length() > 0){QString editText = m_edit->text();editText.remove(editText.length()-1, 1);m_edit->setText(editText);}}else if(btnText == "C"){m_edit->setText("");}else if(btnText == "="){}else{m_edit->setText(m_edit->text() + btnText);}}
http://www.lryc.cn/news/18480.html

相关文章:

  • Vulnhub靶场----6、DC-6
  • 华为OD机试真题Python实现【去重求和】真题+解题思路+代码(20222023)
  • lammps教程:Ovito选择特定晶粒的方法
  • DevEco Studio 3.1 Beta1版本发布——新增六大关键特性,开发更高效
  • 【蓝桥杯每日一题】二分算法
  • Spring Batch 高级篇-并行步骤
  • 对spring的@Cacheable缓存理解
  • 力扣-市场分析
  • 【2357. 使数组中所有元素都等于零】
  • 什么品牌的游戏蓝牙耳机比较好?玩游戏延迟低的蓝牙耳机推荐
  • day 33 状态压缩dp
  • 扬帆优配|超3600股飘绿,人民币贬值近300点!外资净卖近38亿
  • 【编程基础之Python】6、Python基础知识
  • selenium基本操作
  • 思科设备命令讲解(超基础二)
  • HTML基础(3)
  • 鸿蒙3.0 APP混合开发闪退问题笔记
  • 批量操作文件功能-课后程序(JAVA基础案例教程-黑马程序员编著-第七章-课后作业)
  • Hadoop3.3.1完全分布式部署
  • SpringMVC中的注解
  • python+Vue学生作业系统 django课程在线学习网站系统
  • CSS 美化网页元素【快速掌握知识点】
  • Tableau连接openGauss实践
  • RabbitMQ 实现延迟队列
  • Spring Bean 生命周期,好像人的一生
  • C++算法基础课 05 —— 数据结构1_单链表/双链表/栈/单调栈/队列/单调队列/KMP
  • 小型水库大坝安全监测的主要对象
  • 常见软件开源(alpha,beta等)版本介绍
  • 凌恩生物资讯|抗性宏基因组又一力作|抗性基因+可移动元件研究新成果!
  • 常见前端基础面试题(HTML,CSS,JS)(二)