1. QString 字符串类
QString是Qt中的字符串类,使用Unicode编码,而不是ASCII码。在C++中字符使用8位的char类型表示一个字符,但是在Qt中使用16位的QChar表示一个字符。因此Qt处理中文没有任何问题,并且一个汉字算作一个字符。
QString类整体使用与std::string类似,但是在API上有所不同。
常用函数如下:
- QString QString::number(int n, int base = 10) [static]
数字→字符串
参数1:要转换的数字
参数2:进制
- QString & QString::setNum(int n, int base = 10)
数字→字符串,支持链式调用
参数1:要转换的数字
参数2:进制
- int QString::toInt(bool * ok = 0, int base = 10) const
字符串→数字
参数1:转换的结果,成功或失败
参数2:进制
返回值:转换的结果,数字;如果失败,返回0。
2. 容器类(掌握)
Qt重新实现了C++中的容器类,这些容器类比C++中STL的容器类更加轻巧、安全和易于使用,使用Qt的容器类可以减少可执行文件的大小,Qt的容器类是线程安全的,在基本兼容C++的容器类接口的基础上拓展了新的接口。
分别以QList和QMap为例,进行顺序容器和关联容器的讲解。
2.1 QList
自定义一个C++类,作为QList的元素类型。
下面是创建自定义的C++类的步骤:
1. 在Qt Creator中选中项目名称,鼠标右键,点击“添加新文件”。
2. 在弹出的窗口中,按照下图所示进行操作。
QList<Student>示例代码下载链接:https://pan.baidu.com/s/18mb6AsT8mqRcTDrzkAj5-Q
提取码:hqyj
需要注意的是,QStringList类型基本等同QList<QString>,后面不再赘述。
3. 跨平台数据类型(了解)
Qt是一个跨平台的开发框架,为了确保在各个平台上的数据类型具有同一的长度,Qt为各种常用的基本数据类型定义了类型符号。
除此之外,Qt中还有一个通用数据类型QVariant,可以对常见的Qt数据类型进行相互转换,也可以使用QVariant类型作为中间类型间接转换不同数据类型。