QChar
QChar 类是 Qt 中用于表示一个字符的类,实现在 QtCore 共享库中。QChar 类内部用2个字节的Unicode编码来表示一个字符。
构造
QChar 类提供了多个不同原型的构造函数以方便使用,如:
- QChar(); // 构造一个空字符,即'\0'
- QChar(char ch); // 由字符数据ch构造
- QChar(uchar ch); // 由无符号字符数据ch构造
- QChar(ushort code); // 由无符号短整形数据code构造,code是Unicode编码
- QChar(short code); //由 短整形数据code构造,code是Unicode编码
- QChar(uint code); // 由无符号整型数据code构造,code是Unicode编码
- QChar(int code); // 由整型数据code构造,code是Unicode编码
实际使用时很少直接构造 QChar 类的对象,而是把这些构造函数当做类型转换来用,让编译器自动构造所需的QChar类对象。也就是说,在所有需要QChar类作为参数的地方都可以安全地使用各种整数类型。
判断
QChar 类提供了很多成员函数,可以对字符的类型进行判断,如:
- bool isDigit() const; // 判断是否是十进制数字('0' - '9')
- bool isLetter() const; // 判断是否是字母
- bool isNumber() const; // 判断是否是数字,包括正负号、小数点等
- bool isLetterOrNumber(); // 判断是否是字母或数字
- bool isLower() const; // 判断是否是小写字母
- bool isUpper() const; // 判断是否是大写字母
- bool isNull() const; // 判断是否是空子符'\0'
- bool isPrint() const; // 判断是否是可打印字符
- bool isSpace() const; // 判断是否是分隔符,包括空格等
转换
QChar 类提供了一些成员函数进行数据的转换,如:
- char toAscii() const; // 得到字符的ASCII码
- QChar toLower() const; // 转换成小写字母
- QChar toUpper() const; // 转换成大写字母
- ushort unicode() const; // 得到Unicode编码
注意这几个函数都不会改变对象自身,转换的结果通过返回值反映出来。
比较
Qt 中定义了一些与 QChar 类相关的比较操作符, 如:
- bool operator != (QChar c1, QChar c2); // 判断 c1 是否不等于 c2
- bool operator < (QChar c1, QChar c2); // 判断 c1 是否小于 c2
- bool operator <= (QChar c1, QChar c2); // 判断 c1 是否小于等于 c2
- bool operator == (QChar c1, QChar c2); // 判断 c1
- 是否等于c2
- bool operator > (QChar c1, QChar c2); // 判断 c1 是否大于 c2
- bool operator >= (QChar c1, QChar c2); // 判断 c1
- 是否大于等于 c2