前言
前沿没啥要说的,这文章就是我看QT6开发指南和看b站up主爱编程的大丙qt视频说记录的笔记
1.1QString字符串操作
1.1.1QString简介
QString用来存储字符串,没有父类。存储的是一串字符,每个字符都是Qchar类型,,使用的是UTF-16编码,一个字符包含两个字节数据。对于超过65535的Unicode编码,QString使用两个连续的QChar字符表示。一个汉字是一个字符。
1.1.2QString字符串的创建和出初始化
//传递一个const char *类型的数据
QString str="hello QT";
1.1.3QString字符串的索引
使用[]或者接口函数at()访问每个字符
QString str="dimple,地灵殿";
qDebug()<<str<<'\n'; //dimple,地灵殿
QChar ch0=str[0];
qDebug()<<ch0<<'\n'; //'d'
QChar ch7=str.at(7);
qDebug()<<ch7<<'\n'; //'\u7075'按理来说应该输出一个’地‘
1.2QChar的功能
1.2.1QChar类的主要接口函数
函数原型 | 功能 |
---|---|
bool isDigit() const | 判断字符是否为0~9的数字 |
bool isLetter() const | 判断字符是否为字母 |
bool isLetterOrNumber() const | 判断字符是否为字母或数字 |
bool isLower() const | 判断字符是否为小写字母 |
bool isUpper() const | 判断字符是否为大写字母 |
bool isMark() const | 判断字符是否为记号 |
bool isNonCharacter() const | 判断字符是否为非文字字符 |
bool isNull() const | 判断字符编码是否为0X000,也就是“\0” |
bool isNumber() const | 判断字符是否为一个数,不仅仅包括0~9 |
bool isPrint() const | 判断字符是否为可打印字符 |
bool isPunct() const | 判断字符是否为标点符号 |
bool isSpace() const | 判断字符是否为分隔符,包括空格、制表符 |
bool isSymbol() const | 判断字符是否为特殊符号(打不出来啊) |
char toLatin1() const | 返回与QChar字符等效的Latin1字符 |
QChar toLower() const | 返回字符小写,不是字符就返回本身 |
QChar toUpper() const | 返回字符大写,不是字符就返回本身 |
char16_t unicode() const | 返回字符的16位Unicode编码数值 |
1.2.2QChar字符与Latin1字符转换
只有当QChar字符的编码为0~255时,函数toLatin1才有意义。
- 还有两种转换方式:
- 静态函数 QChar fromLatin1(char c)
- 构造函数 QChar(char ch)
QString str="dimple,地灵殿";
QChar chP=QChar::fromLatin1('P'); //静态函数,记得是单引号
//QChar chP=QChar('P') //构造函数
str[0]=chP;
qDebug()<<str<<'\n';