Qt常用类
### Qt常用类:QChar与QString详解 #### QChar 类 `QChar`类是Qt框架中的一个核心组件,主要用于表示单个字符及其属性。它包含了许多方法来帮助开发者进行字符的操作、比较以及属性判断。 - **判断方法**: - `bool isDigit() const;`:判断该字符是否为十进制数字('0'-'9')。 - `bool isLetter() const;`:判断该字符是否为字母。 - `bool isNumber() const;`:判断该字符是否为数字,包括数字本身及相关的符号,如正负号和小数点等。 - `bool isLetterOrNumber() const;`:判断该字符是否为字母或数字。 - `bool isLower() const;`:判断该字符是否为小写字母。 - `bool isUpper() const;`:判断该字符是否为大写字母。 - `bool isNull() const;`:判断该字符是否为空字符`\0`。 - `bool isPrint() const;`:判断该字符是否为可打印字符。 - `bool isSpace() const;`:判断该字符是否为分隔符,包括但不限于空格。 - **转换方法**: - `char toAscii() const;`:获取该字符的ASCII码。 - `QChar toLower() const;`:将字符转换为小写字母。 - `QChar toUpper() const;`:将字符转换为大写字母。 - `ushort unicode() const;`:获取该字符的Unicode编码。 - **比较方法**: - `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`。 #### QString 类 `QString`类是Qt中的字符串类,用于处理文本字符串,提供了一系列的方法来进行字符串的创建、修改和查询等操作。 - **判断方法**: - `bool isEmpty() const;`:判断字符串是否为空。 - **转换方法**: - `double toDouble(bool* ok = 0) const;`:将字符串转换为双精度浮点数,通过`ok`参数返回转换是否成功。 - `float toFloat(bool* ok = 0) const;`:将字符串转换为单精度浮点数。 - `int toInt(bool* ok = 0, int base = 10) const;`:将字符串转换为整数,`base`参数指明了转换时采用的基数。 - `long toLong(bool* ok = 0, int base = 10) const;`:将字符串转换为长整型。 - `short toShort(bool* ok = 0, int base = 10) const;`:将字符串转换为短整型。 - `uint toUInt(bool* ok = 0, int base = 10) const;`:将字符串转换为无符号整数。 - `ulong toULong(bool* ok = 0, int base = 10) const;`:将字符串转换为无符号长整型。 - `ushort toUShort(bool* ok = 0, int base = 10) const;`:将字符串转换为无符号短整型。 - `QString toLower() const;`:将字符串全部转换为小写形式。 - `QString toUpper() const;`:将字符串全部转换为大写形式。 - **比较方法**: - `int compare(const QString &s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive);`:比较两个字符串`s1`和`s2`,`cs`参数控制比较是否区分大小写,返回值为大于0(`s1 > s2`)、等于0(`s1 == s2`)或小于0(`s1 < s2`)。 - **查找方法**: - `bool contains(const QString &str(或QChar ch), Qt::CaseSensitivity cs = Qt::CaseSensitive) const;`:判断字符串中是否包含特定的子串或字符。 - `int count(const QString &str(或QChar ch), Qt::CaseSensitivity cs = Qt::CaseSensitive) const;`:统计字符串中特定子串或字符出现的次数。 - `int indexOf(const QString &str(或QChar ch), int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const;`:查找字符串中特定子串或字符首次出现的位置。 - **字符串处理方法**: - `QString& operator=(const QString &other);`:赋值运算符,用于复制另一个`QString`对象。 - `QString& operator=(const char *str);`:将C风格的字符串复制到`QString`中。 - `QString& operator=(char ch);`:将单个字符复制到`QString`中。 - `QString& operator=(QChar ch);`:将`QChar`对象复制到`QString`中。 此外,还有多种其他方法可以用来拼接字符串: - `QString& append(const QString &other);`:在当前字符串末尾添加另一个`QString`。 - `QString& append(const char *str);`:在当前字符串末尾添加C风格的字符串。 - `QString& append(char ch);`:在当前字符串末尾添加单个字符。 - `QString& append(QChar ch);`:在当前字符串末尾添加`QChar`对象。 这些方法使得`QString`成为一个非常强大且灵活的工具,在处理字符串操作时能够高效地完成任务。