QChar Class
QChar 类提供了一个 16 位的 Unicode 字符。更多内容...
| 头文件: | #include <QChar> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- 所有成员的列表,包括继承的成员
- QChar 属于字符串数据类。
注意:该类中的所有函数均为可重入的。
QChar 比较
| 类别 | 可比较类型 | 描述 |
|---|---|---|
| strong | QChar | |
| strong | char16_t、QString 、QStringView 、QLatin1StringView 和QUtf8StringView 。 | |
| strong | const char *、QByteArray 和QByteArrayView 。 | 字节数组的内容被解释为 UTF-8。 |
公共类型
| enum | Category { Mark_NonSpacing, Mark_SpacingCombining, Mark_Enclosing, Number_DecimalDigit, Number_Letter, …, Symbol_Other } |
| enum | Decomposition { NoDecomposition, Canonical, Circle, Compat, Final, …, Wide } |
| enum | Direction { DirAL, DirAN, DirB, DirBN, DirCS, …, DirWS } |
| enum | JoiningType { Joining_None, Joining_Causing, Joining_Dual, Joining_Right, Joining_Left, Joining_Transparent } |
| enum | Script { Script_Unknown, Script_Inherited, Script_Common, Script_Adlam, Script_Ahom, …, Script_ZanabazarSquare } |
| enum | SpecialCharacter { Null, Tabulation, LineFeed, FormFeed, CarriageReturn, …, LastValidCodePoint } |
| enum | UnicodeVersion { Unicode_1_1, Unicode_2_0, Unicode_2_1_2, Unicode_3_0, Unicode_3_1, …, Unicode_Unassigned } |
公共函数
| QChar() | |
| QChar(QChar::SpecialCharacter ch) | |
| QChar(QLatin1Char ch) | |
| QChar(char ch) | |
| QChar(char16_t ch) | |
| QChar(char32_t code) | |
| QChar(int code) | |
| QChar(short code) | |
| QChar(uchar ch) | |
| QChar(uint code) | |
| QChar(ushort code) | |
| QChar(wchar_t ch) | |
| QChar(uchar cell, uchar row) | |
| QChar::Category | category() const |
| uchar | cell() const |
| unsigned char | combiningClass() const |
| QString | decomposition() const |
| QChar::Decomposition | decompositionTag() const |
| int | digitValue() const |
| QChar::Direction | direction() const |
| bool | hasMirrored() const |
| bool | isDigit() const |
| bool | isHighSurrogate() const |
| bool | isLetter() const |
| bool | isLetterOrNumber() const |
| bool | isLowSurrogate() const |
| bool | isLower() const |
| bool | isMark() const |
| bool | isNonCharacter() const |
| bool | isNull() const |
| bool | isNumber() const |
| bool | isPrint() const |
| bool | isPunct() const |
| bool | isSpace() const |
| bool | isSurrogate() const |
| bool | isSymbol() const |
| bool | isTitleCase() const |
| bool | isUpper() const |
| QChar::JoiningType | joiningType() const |
| QChar | mirroredChar() const |
| uchar | row() const |
| QChar::Script | script() const |
| QChar | toCaseFolded() const |
| char | toLatin1() const |
| QChar | toLower() const |
| QChar | toTitleCase() const |
| QChar | toUpper() const |
| char16_t & | unicode() |
| char16_t | unicode() const |
| QChar::UnicodeVersion | unicodeVersion() const |
静态公共成员
| QChar::Category | category(char32_t ucs4) |
| unsigned char | combiningClass(char32_t ucs4) |
| QChar::UnicodeVersion | currentUnicodeVersion() |
| QString | decomposition(char32_t ucs4) |
| QChar::Decomposition | decompositionTag(char32_t ucs4) |
| int | digitValue(char32_t ucs4) |
| QChar::Direction | direction(char32_t ucs4) |
| QChar | fromLatin1(char c) |
(since 6.0) QChar | fromUcs2(char16_t c) |
(since 6.0) auto | fromUcs4(char32_t c) |
| bool | hasMirrored(char32_t ucs4) |
| char16_t | highSurrogate(char32_t ucs4) |
| bool | isDigit(char32_t ucs4) |
| bool | isHighSurrogate(char32_t ucs4) |
| bool | isLetter(char32_t ucs4) |
| bool | isLetterOrNumber(char32_t ucs4) |
| bool | isLowSurrogate(char32_t ucs4) |
| bool | isLower(char32_t ucs4) |
| bool | isMark(char32_t ucs4) |
| bool | isNonCharacter(char32_t ucs4) |
| bool | isNumber(char32_t ucs4) |
| bool | isPrint(char32_t ucs4) |
| bool | isPunct(char32_t ucs4) |
| bool | isSpace(char32_t ucs4) |
| bool | isSurrogate(char32_t ucs4) |
| bool | isSymbol(char32_t ucs4) |
| bool | isTitleCase(char32_t ucs4) |
| bool | isUpper(char32_t ucs4) |
| QChar::JoiningType | joiningType(char32_t ucs4) |
| char16_t | lowSurrogate(char32_t ucs4) |
| char32_t | mirroredChar(char32_t ucs4) |
| bool | requiresSurrogates(char32_t ucs4) |
| QChar::Script | script(char32_t ucs4) |
| char32_t | surrogateToUcs4(char16_t high, char16_t low) |
| char32_t | surrogateToUcs4(QChar high, QChar low) |
| char32_t | toCaseFolded(char32_t ucs4) |
| char32_t | toLower(char32_t ucs4) |
| char32_t | toTitleCase(char32_t ucs4) |
| char32_t | toUpper(char32_t ucs4) |
| QChar::UnicodeVersion | unicodeVersion(char32_t ucs4) |
相关的非成员
| bool | operator!=(const QChar &c1, const QChar &c2) |
| bool | operator<(const QChar &c1, const QChar &c2) |
| QDataStream & | operator<<(QDataStream &out, QChar chr) |
| bool | operator<=(const QChar &c1, const QChar &c2) |
| bool | operator==(const QChar &c1, const QChar &c2) |
| bool | operator>(const QChar &c1, const QChar &c2) |
| bool | operator>=(const QChar &c1, const QChar &c2) |
| QDataStream & | operator>>(QDataStream &in, QChar &chr) |
详细说明
在 Qt 中,Unicode 字符是 16 位实体,不包含任何标记或结构。本类表示此类实体。它结构轻量,因此可在任何地方使用。大多数编译器将其视为 `unsigned short`。
QChar 提供了一套完整的测试/分类函数,支持与其他格式的相互转换,可将组合 Unicode 转换为分解 Unicode,并可在需要时进行比较和大小写转换。
分类函数包括标准 C++ 头文件 <cctype>(原 <ctype.h>)中的那些函数,但它们作用于完整的 Unicode 字符范围,而不仅限于 ASCII 范围。如果字符属于某种特定类型,这些函数均返回 true;否则返回 false。 这些分类函数包括:isNull()(若字符为 '\0',则返回true )、isPrint()(若字符是任何可打印字符(包括空格),则返回 true)、isPunct()(任何标点符号)、isMark()(Unicode标记),isLetter()(字母),isNumber()(任何类型的数字字符,不仅限于0-9),isLetterOrNumber(),以及isDigit()(十进制数字)。 这些都是围绕category()构建的封装函数,用于返回每个字符的Unicode定义类别。其中部分函数还会计算派生属性(例如,若字符属于Separator_*类别或Other_Control 类别的特殊码点,isSpace()将返回true )。
QChar 还提供了direction() 函数,该函数指示该字符的“自然”书写方向。joiningType() 函数指示该字符与其相邻字符的连接方式(主要用于阿拉伯语或叙利亚语),最后是hasMirrored() 函数,该函数指示当字符以“非自然”书写方向打印时,是否需要将其镜像。
复合 Unicode 字符(如ring )可通过使用decomposition() 转换为分解形式的 Unicode(即“a”后跟“上方圆环”)。
在 Unicode 中,字符比较未必可行,而大小写转换即便在最佳情况下也极其困难。Unicode 涵盖了“整个”世界,同时也包含了世界上绝大多数的大写小写和排序问题。 operator==() 及其相关函数将纯粹基于字符的数值 Unicode 值(码点)进行比较,而toUpper() 和toLower() 则会在字符具有明确定义的大写/小写等价形式时进行大小写转换。对于依赖区域设置的比较,请使用QString::localeAwareCompare()。
转换函数包括:unicode()(转换为标量)、toLatin1()(转换为标量,但会将所有非 Latin-1 字符转换为 0)、row()(返回 Unicode 行)、cell()(返回 Unicode 单元格),digitValue()(返回众多数字字符中任意一个的整数值),以及大量构造函数。
QChar 提供了构造函数和强制类型转换运算符,可轻松实现与传统 8 位char之间的相互转换。 如果按照QString 文档中的说明定义了QT_NO_CAST_FROM_ASCII 和QT_NO_CAST_TO_ASCII ,则需要显式调用fromLatin1(),或使用QLatin1Char ,才能从8位char 构造一个QChar;同时,需要调用toLatin1()来获取相应的8位值。
从 Qt 6.0 开始,大多数 QChar 构造函数均为explicit 。此举旨在避免在无意中混合使用整数类型和字符串时发生危险的错误。
有关更多信息,请参阅“关于 Unicode 字符数据库”。
另请参阅 Unicode、QString 以及QLatin1Char 。
成员类型文档
enum QChar::Category
此枚举映射了 Unicode 字符类别。
以下字符在 Unicode 中具有规范性:
| 常量 | 值 | 描述 |
|---|---|---|
QChar::Mark_NonSpacing | 0 | Unicode 类名 Mn |
QChar::Mark_SpacingCombining | 1 | Unicode 类名 MnUnicode 类名 Mc |
QChar::Mark_Enclosing | 2 | Unicode 类名 Me |
QChar::Number_DecimalDigit | 3 | Unicode 类名 Nd |
QChar::Number_Letter | 4 | Unicode 类名 Nl |
QChar::Number_Other | 5 | Unicode 类名 No |
QChar::Separator_Space | 6 | Unicode 类名 Zs |
QChar::Separator_Line | 7 | Unicode 类名 Zl |
QChar::Separator_Paragraph | 8 | Unicode 类名 Zp |
QChar::Other_Control | 9 | Unicode 类名 Cc |
QChar::Other_Format | 10 | Unicode 类名 Cf |
QChar::Other_Surrogate | 11 | Unicode 类名 Cs |
QChar::Other_PrivateUse | 12 | Unicode 类名 Co |
QChar::Other_NotAssigned | 13 | Unicode 类名 Cn |
以下类别在 Unicode 中仅供参考:
| 常量 | 值 | 描述 |
|---|---|---|
QChar::Letter_Uppercase | 14 | Unicode 类名 Lu |
QChar::Letter_Lowercase | 15 | Unicode 类名 LuLl |
QChar::Letter_Titlecase | 16 | Unicode 类名 Lt |
QChar::Letter_Modifier | 17 | Unicode 类名 Lm |
QChar::Letter_Other | 18 | Unicode 类名 Lo |
QChar::Punctuation_Connector | 19 | Unicode 类名 Pc |
QChar::Punctuation_Dash | 20 | Unicode 类名 Pd |
QChar::Punctuation_Open | 21 | Unicode 类名 Ps |
QChar::Punctuation_Close | 22 | Unicode 类名 Pe |
QChar::Punctuation_InitialQuote | 23 | Unicode 类名 Pi |
QChar::Punctuation_FinalQuote | 24 | Unicode 类名 Pf |
QChar::Punctuation_Other | 25 | Unicode 类名 Po |
QChar::Symbol_Math | 26 | Unicode 类名 Sm |
QChar::Symbol_Currency | 27 | Unicode 类名 Sc |
QChar::Symbol_Modifier | 28 | Unicode 类名 Sk |
QChar::Symbol_Other | 29 | Unicode 类名 So |
另请参阅 category()。
enum QChar::Decomposition
此枚举类型定义了 Unicode 分解属性。有关这些值的描述,请参阅Unicode 标准。
| 常量 | 值 |
|---|---|
QChar::NoDecomposition | 0 |
QChar::Canonical | 1 |
QChar::Circle | 8 |
QChar::Compat | 16 |
QChar::Final | 6 |
QChar::Font | 2 |
QChar::Fraction | 17 |
QChar::Initial | 4 |
QChar::Isolated | 7 |
QChar::Medial | 5 |
QChar::Narrow | 13 |
QChar::NoBreak | 3 |
QChar::Small | 14 |
QChar::Square | 15 |
QChar::Sub | 10 |
QChar::Super | 9 |
QChar::Vertical | 11 |
QChar::Wide | 12 |
另请参阅 decomposition()。
enum QChar::Direction
此枚举类型定义了 Unicode 方向属性。有关这些值的说明,请参阅《Unicode 标准》。
为了符合 C/C++ 命名约定,在 Unicode 标准中使用的代码前添加了前缀“Dir”。
| 常量 | 值 |
|---|---|
QChar::DirAL | 13 |
QChar::DirAN | 5 |
QChar::DirB | 7 |
QChar::DirBN | 18 |
QChar::DirCS | 6 |
QChar::DirEN | 2 |
QChar::DirES | 3 |
QChar::DirET | 4 |
QChar::DirFSI (since Qt 5.3) | 21 |
QChar::DirL | 0 |
QChar::DirLRE | 11 |
QChar::DirLRI (since Qt 5.3) | 19 |
QChar::DirLRO | 12 |
QChar::DirNSM | 17 |
QChar::DirON | 10 |
QChar::DirPDF | 16 |
QChar::DirPDI (since Qt 5.3) | 22 |
QChar::DirR | 1 |
QChar::DirRLE | 14 |
QChar::DirRLI (since Qt 5.3) | 20 |
QChar::DirRLO | 15 |
QChar::DirS | 8 |
QChar::DirWS | 9 |
另请参阅 direction()。
enum QChar::JoiningType
自 5.3 起
此枚举类型定义了 Unicode 连接类型属性。有关这些值的说明,请参阅Unicode 标准。
为了符合 C/C++ 命名约定,在 Unicode 标准中使用的代码前添加了前缀“Joining_”。
| 常量 | 值 |
|---|---|
QChar::Joining_None | 0 |
QChar::Joining_Causing | 1 |
QChar::Joining_Dual | 2 |
QChar::Joining_Right | 3 |
QChar::Joining_Left | 4 |
QChar::Joining_Transparent | 5 |
另请参阅 joiningType()。
enum QChar::Script
此枚举类型定义了 Unicode 脚本属性值。
有关 Unicode 脚本属性值的详细信息,请参阅《Unicode 标准》附录 #24。
为了符合 C/C++ 命名约定,在 Unicode 标准中使用的代码前添加了前缀“Script_”。
| 常量 | 值 | 描述 |
|---|---|---|
QChar::Script_Unknown | 0 | 用于未分配、私有、非字符和代理码点。 |
QChar::Script_Inherited | 1 | 适用于可与多种脚本一起使用且从前一个字符继承其脚本的字符。这些字符包括非间距标记、包围标记以及零宽度连接符/非连接符。 |
QChar::Script_Common | 2 | 适用于可能用于多种书写系统且不从前一个字符继承其书写系统的字符。 |
QChar::Script_Adlam (since Qt 5.11) | 132 | |
QChar::Script_Ahom (since Qt 5.6) | 126 | |
QChar::Script_AnatolianHieroglyphs (since Qt 5.6) | 127 | |
QChar::Script_Arabic | 8 | |
QChar::Script_Armenian | 6 | |
QChar::Script_Avestan | 80 | |
QChar::Script_Balinese | 62 | |
QChar::Script_Bamum | 84 | |
QChar::Script_BassaVah (since Qt 5.5) | 104 | |
QChar::Script_Batak | 93 | |
QChar::Script_Bengali | 12 | |
QChar::Script_BeriaErfe (since Qt 6.11) | 174 | |
QChar::Script_Bhaiksuki (since Qt 5.11) | 133 | |
QChar::Script_Bopomofo | 36 | |
QChar::Script_Brahmi | 94 | |
QChar::Script_Braille | 54 | |
QChar::Script_Buginese | 55 | |
QChar::Script_Buhid | 44 | |
QChar::Script_CanadianAboriginal | 29 | |
QChar::Script_Carian | 75 | |
QChar::Script_CaucasianAlbanian (since Qt 5.5) | 103 | |
QChar::Script_Chakma | 96 | |
QChar::Script_Cham | 77 | |
QChar::Script_Cherokee | 28 | |
QChar::Script_Chorasmian (since Qt 5.15) | 153 | |
QChar::Script_Coptic | 46 | |
QChar::Script_Cuneiform | 63 | |
QChar::Script_Cypriot | 53 | |
QChar::Script_CyproMinoan (since Qt 6.3) | 157 | |
QChar::Script_Cyrillic | 5 | |
QChar::Script_Deseret | 41 | |
QChar::Script_Devanagari | 11 | |
QChar::Script_DivesAkuru (since Qt 5.15) | 154 | |
QChar::Script_Dogra (since Qt 5.15) | 142 | |
QChar::Script_Duployan (since Qt 5.5) | 105 | |
QChar::Script_EgyptianHieroglyphs | 81 | |
QChar::Script_Elbasan (since Qt 5.5) | 106 | |
QChar::Script_Elymaic (since Qt 5.15) | 149 | |
QChar::Script_Ethiopic | 27 | |
QChar::Script_Garay (since Qt 6.9) | 164 | |
QChar::Script_Georgian | 25 | |
QChar::Script_Glagolitic | 57 | |
QChar::Script_Gothic | 40 | |
QChar::Script_Grantha (since Qt 5.5) | 107 | |
QChar::Script_Greek | 4 | |
QChar::Script_Gujarati | 14 | |
QChar::Script_GunjalaGondi (since Qt 5.15) | 143 | |
QChar::Script_Gurmukhi | 13 | |
QChar::Script_GurungKhema (since Qt 6.9) | 165 | |
QChar::Script_Han | 37 | |
QChar::Script_Hangul | 26 | |
QChar::Script_HanifiRohingya (since Qt 5.15) | 144 | |
QChar::Script_Hanunoo | 43 | |
QChar::Script_Hatran (since Qt 5.6) | 128 | |
QChar::Script_Hebrew | 7 | |
QChar::Script_Hiragana | 34 | |
QChar::Script_ImperialAramaic | 87 | |
QChar::Script_InscriptionalPahlavi | 90 | |
QChar::Script_InscriptionalParthian | 89 | |
QChar::Script_Javanese | 85 | |
QChar::Script_Kaithi | 92 | |
QChar::Script_Kannada | 18 | |
QChar::Script_Katakana | 35 | |
QChar::Script_Kawi (since Qt 6.5) | 162 | |
QChar::Script_KayahLi | 72 | |
QChar::Script_Kharoshthi | 61 | |
QChar::Script_KhitanSmallScript (since Qt 5.15) | 155 | |
QChar::Script_Khmer | 32 | |
QChar::Script_Khojki (since Qt 5.5) | 109 | |
QChar::Script_Khudawadi (since Qt 5.5) | 123 | |
QChar::Script_KiratRai (since Qt 6.9) | 166 | |
QChar::Script_Lao | 22 | |
QChar::Script_Latin | 3 | |
QChar::Script_Lepcha | 68 | |
QChar::Script_Limbu | 47 | |
QChar::Script_LinearA (since Qt 5.5) | 110 | |
QChar::Script_LinearB | 49 | |
QChar::Script_Lisu | 83 | |
QChar::Script_Lycian | 74 | |
QChar::Script_Lydian | 76 | |
QChar::Script_Mahajani (since Qt 5.5) | 111 | |
QChar::Script_Makasar (since Qt 5.15) | 145 | |
QChar::Script_Malayalam | 19 | |
QChar::Script_Mandaic | 95 | |
QChar::Script_Manichaean (since Qt 5.5) | 112 | |
QChar::Script_Marchen (since Qt 5.11) | 134 | |
QChar::Script_MasaramGondi (since Qt 5.11) | 138 | |
QChar::Script_Medefaidrin (since Qt 5.15) | 146 | |
QChar::Script_MeeteiMayek | 86 | |
QChar::Script_MendeKikakui (since Qt 5.5) | 113 | |
QChar::Script_MeroiticCursive | 97 | |
QChar::Script_MeroiticHieroglyphs | 98 | |
QChar::Script_Miao | 99 | |
QChar::Script_Modi (since Qt 5.5) | 114 | |
QChar::Script_Mongolian | 33 | |
QChar::Script_Mro (since Qt 5.5) | 115 | |
QChar::Script_Multani (since Qt 5.6) | 129 | |
QChar::Script_Myanmar | 24 | |
QChar::Script_Nabataean (since Qt 5.5) | 117 | |
QChar::Script_NagMundari (since Qt 6.3) | 163 | |
QChar::Script_Nandinagari (since Qt 5.15) | 150 | |
QChar::Script_Newa (since Qt 5.11) | 135 | |
QChar::Script_NewTaiLue | 56 | |
QChar::Script_Nko | 66 | |
QChar::Script_Nushu (since Qt 5.11) | 139 | |
QChar::Script_NyiakengPuachueHmong (since Qt 5.15) | 151 | |
QChar::Script_Ogham | 30 | |
QChar::Script_OlChiki | 69 | |
QChar::Script_OlOnal (since Qt 6.9) | 167 | |
QChar::Script_OldHungarian (since Qt 5.6) | 130 | |
QChar::Script_OldItalic | 39 | |
QChar::Script_OldNorthArabian (since Qt 5.5) | 116 | |
QChar::Script_OldPermic (since Qt 5.5) | 120 | |
QChar::Script_OldPersian | 60 | |
QChar::Script_OldSogdian (since Qt 5.15) | 147 | |
QChar::Script_OldSouthArabian | 88 | |
QChar::Script_OldTurkic | 91 | |
QChar::Script_OldUyghur (since Qt 6.3) | 158 | |
QChar::Script_Oriya | 15 | |
QChar::Script_Osage (since Qt 5.11) | 136 | |
QChar::Script_Osmanya | 52 | |
QChar::Script_PahawhHmong (since Qt 5.5) | 108 | |
QChar::Script_Palmyrene (since Qt 5.5) | 118 | |
QChar::Script_PauCinHau (since Qt 5.5) | 119 | |
QChar::Script_PhagsPa | 65 | |
QChar::Script_Phoenician | 64 | |
QChar::Script_PsalterPahlavi (since Qt 5.5) | 121 | |
QChar::Script_Rejang | 73 | |
QChar::Script_Runic | 31 | |
QChar::Script_Samaritan | 82 | |
QChar::Script_Saurashtra | 71 | |
QChar::Script_Sharada | 100 | |
QChar::Script_Shavian | 51 | |
QChar::Script_Siddham (since Qt 5.5) | 122 | |
QChar::Script_Sidetic (since Qt 6.11) | 171 | |
QChar::Script_SignWriting (since Qt 5.6) | 131 | |
QChar::Script_Sinhala | 20 | |
QChar::Script_Sogdian (since Qt 5.15) | 148 | |
QChar::Script_SoraSompeng | 101 | |
QChar::Script_Soyombo (since Qt 5.11) | 140 | |
QChar::Script_Sundanese | 67 | |
QChar::Script_Sunuwar (since Qt 6.9) | 168 | |
QChar::Script_SylotiNagri | 59 | |
QChar::Script_Syriac | 9 | |
QChar::Script_Tagalog | 42 | |
QChar::Script_Tagbanwa | 45 | |
QChar::Script_TaiLe | 48 | |
QChar::Script_TaiTham | 78 | |
QChar::Script_TaiViet | 79 | |
QChar::Script_TaiYo (since Qt 6.11) | 172 | |
QChar::Script_Takri | 102 | |
QChar::Script_Tamil | 16 | |
QChar::Script_Tangut (since Qt 5.11) | 137 | |
QChar::Script_Tangsa (since Qt 6.3) | 159 | |
QChar::Script_Telugu | 17 | |
QChar::Script_Thaana | 10 | |
QChar::Script_Thai | 21 | |
QChar::Script_Tibetan | 23 | |
QChar::Script_Tifinagh | 58 | |
QChar::Script_Tirhuta (since Qt 5.5) | 124 | |
QChar::Script_Todhri (since Qt 6.9) | 169 | |
QChar::Script_TolongSiki (since Qt 6.11) | 173 | |
QChar::Script_Toto (since Qt 6.3) | 160 | |
QChar::Script_TuluTigalari (since Qt 6.9) | 170 | |
QChar::Script_Ugaritic | 50 | |
QChar::Script_Vai | 70 | |
QChar::Script_Vithkuqi (since Qt 6.3) | 161 | |
QChar::Script_Wancho (since Qt 5.15) | 152 | |
QChar::Script_WarangCiti (since Qt 5.5) | 125 | |
QChar::Script_Yezidi (since Qt 5.15) | 156 | |
QChar::Script_Yi | 38 | |
QChar::Script_ZanabazarSquare (since Qt 5.11) | 141 |
另请参阅 script()。
enum QChar::SpecialCharacter
| 常数 | 值 | 描述 |
|---|---|---|
QChar::Null | 0x0000 | 一个QChar ,其值为isNull()。 |
QChar::Tabulation | 0x0009 | 字符制表符。 |
QChar::LineFeed | 0x000a | |
QChar::FormFeed | 0x000c | |
QChar::CarriageReturn | 0x000d | |
QChar::Space | 0x0020 | |
QChar::Nbsp | 0x00a0 | 不换行空格。 |
QChar::SoftHyphen | 0x00ad | |
QChar::ReplacementCharacter | 0xfffd | 当字体中没有某个码点的字形时显示的字符。通常使用一个特殊的问号字符。当输入数据无法用 Unicode 表示时,编解码器会使用该码点。 |
QChar::ObjectReplacementCharacter | 0xfffc | 用于表示无法呈现的对象(如图像)。 |
QChar::ByteOrderMark | 0xfeff | |
QChar::ByteOrderSwapped | 0xfffe | |
QChar::ParagraphSeparator | 0x2029 | |
QChar::LineSeparator | 0x2028 | |
QChar::VisualTabCharacter (since Qt 6.2) | 0x2192 | 用于以水平箭头表示制表符。 |
QChar::LastValidCodePoint | 0x10ffff |
enum QChar::UnicodeVersion
指定某个字符是在Unicode标准的哪个版本中引入的。
| 常量 | 值 | 描述 |
|---|---|---|
QChar::Unicode_1_1 | 1 | 1.1 版 |
QChar::Unicode_2_0 | 2 | 2.0 版 |
QChar::Unicode_2_1_2 | 3 | 版本 2.1.2 |
QChar::Unicode_3_0 | 4 | 版本 3.0 |
QChar::Unicode_3_1 | 5 | 版本 3.1 |
QChar::Unicode_3_2 | 6 | 版本 3.2 |
QChar::Unicode_4_0 | 7 | 版本 4.0 |
QChar::Unicode_4_1 | 8 | 版本 4.1 |
QChar::Unicode_5_0 | 9 | 5.0 版 |
QChar::Unicode_5_1 | 10 | 5.1 版 |
QChar::Unicode_5_2 | 11 | 5.2 版 |
QChar::Unicode_6_0 | 12 | 6.0 版 |
QChar::Unicode_6_1 | 13 | 版本 6.1 |
QChar::Unicode_6_2 | 14 | 版本 6.2 |
QChar::Unicode_6_3 (since Qt 5.3) | 15 | 版本 6.3 |
QChar::Unicode_7_0 (since Qt 5.5) | 16 | 版本 7.0 |
QChar::Unicode_8_0 (since Qt 5.6) | 17 | 版本 8.0 |
QChar::Unicode_9_0 (since Qt 5.11) | 18 | 版本 9.0 |
QChar::Unicode_10_0 (since Qt 5.11) | 19 | 版本 10.0 |
QChar::Unicode_11_0 (since Qt 5.15) | 20 | 版本 11.0 |
QChar::Unicode_12_0 (since Qt 5.15) | 21 | 版本 12.0 |
QChar::Unicode_12_1 (since Qt 5.15) | 22 | 12.1 版 |
QChar::Unicode_13_0 (since Qt 5.15) | 23 | 13.0 版 |
QChar::Unicode_14_0 (since Qt 6.3) | 24 | 14.0 版 |
QChar::Unicode_15_0 (since Qt 6.5) | 25 | 版本 15.0 |
QChar::Unicode_15_1 (since Qt 6.8) | 26 | 版本 15.1 |
QChar::Unicode_16_0 (since Qt 6.9) | 27 | 版本 16.0 |
QChar::Unicode_17_0 (since Qt 6.11) | 28 | 版本 17.0 |
QChar::Unicode_Unassigned | 0 | 该值在 Unicode 8.0 版本中未分配给任何字符。 |
另请参阅 unicodeVersion() 和currentUnicodeVersion()。
成员函数文档
[constexpr noexcept] QChar::QChar()
构建一个空的 QChar('\0')。
另请参阅 isNull()。
[constexpr noexcept] QChar::QChar(QChar::SpecialCharacter ch)
根据预定义字符值ch 构建一个 QChar 对象。
注意:自 Qt 6.9起 ,此构造函数已禁用隐式转换。这意味着它仅接受构造函数参数类型,而不接受任何可隐式转换为该类型的值。一种向后兼容的解决方法是显式地将其强制转换为 QChar 构造函数支持的参数类型之一。
[constexpr noexcept] QChar::QChar(QLatin1Char ch)
构建一个与 ASCII/Latin-1 字符ch 对应的 QChar 对象。
注意:自 Qt 6.9起 ,此构造函数已禁用隐式转换。这意味着它仅接受构造函数参数类型,而不接受所有可隐式转换为该类型的值。一种向后兼容的解决方法是显式地将值强制转换为 QChar 构造函数支持的参数类型之一。
[constexpr noexcept] QChar::QChar(char ch)
构建一个与 ASCII/Latin-1 字符ch 对应的 QChar 对象。
注意: 当定义了QT_NO_CAST_FROM_ASCII 时,此 构造函数不可用。
注意:自 Qt 6.9起 ,此构造函数已禁用隐式转换。这意味着它仅接受构造函数参数类型,而不接受所有可隐式转换为该类型的值。一种向后兼容的解决方法是显式地将其强制转换为 QChar 构造函数支持的参数类型之一。
另请参阅 QT_NO_CAST_FROM_ASCII 。
[constexpr noexcept] QChar::QChar(char16_t ch)
构建一个与 UTF-16 字符ch 对应的 QChar 对象。
注意:自 Qt 6.9起 ,此构造函数的隐式转换已被禁用。这意味着它仅接受构造函数参数类型,而不接受所有可隐式转换为该类型的值。一种向后兼容的解决方法是显式地将其强制转换为 QChar 构造函数支持的参数类型之一。
[implicit] QChar::QChar(char32_t code)
为 Unicode 码点为code 的字符构建一个 QChar 对象。
注意:自 Qt 6.9起 ,此构造函数已禁用隐式转换。这意味着它仅接受构造函数参数类型,而不接受任何可隐式转换为该类型的值。一种向后兼容的解决方法是显式地将其强制转换为 QChar 构造函数支持的参数类型之一。
[explicit constexpr noexcept] QChar::QChar(int code)
为 Unicode 码点为code 的字符构建一个 QChar 对象。
注意:自 Qt 6.9起 ,此构造函数已禁用隐式转换。这意味着它仅接受构造函数参数类型,而不接受所有可隐式转换为该类型的值。一种向后兼容的解决方法是显式地将其强制转换为 QChar 构造函数支持的参数类型之一。
[constexpr noexcept] QChar::QChar(short code)
为 Unicode 码点为code 的字符构建一个 QChar 对象。
注意:自 Qt 6.9起 ,此构造函数已禁用隐式转换。这意味着它仅接受构造函数参数类型,而不接受所有可隐式转换为该类型的值。一种向后兼容的解决方法是显式地将值强制转换为 QChar 构造函数支持的参数类型之一。
[explicit constexpr noexcept] QChar::QChar(uchar ch)
构建一个与 ASCII/Latin-1 字符ch 对应的 QChar 对象。
注意: 当定义了QT_NO_CAST_FROM_ASCII 或QT_RESTRICTED_CAST_FROM_ASCII 时,此 构造函数不可用。
注意:自 Qt 6.9起 ,此构造函数已禁用隐式转换。这意味着它仅接受构造函数参数类型,而不接受所有可隐式转换为该类型的值。一种向后兼容的修复方法是显式将类型转换为 QChar 构造函数支持的参数类型之一。
另请参阅 QT_NO_CAST_FROM_ASCII 和QT_RESTRICTED_CAST_FROM_ASCII 。
[explicit constexpr noexcept] QChar::QChar(uint code)
为 Unicode 码点为code 的字符构建一个 QChar 对象。
注意:自 Qt 6.9起 ,此构造函数已禁用隐式转换。这意味着它仅接受构造函数参数类型,而不接受所有可隐式转换为此类型的值。一种向后兼容的解决方法是显式地将其强制转换为 QChar 构造函数支持的参数类型之一。
[constexpr noexcept] QChar::QChar(ushort code)
为 Unicode 码点为code 的字符构建一个 QChar 对象。
注意:自 Qt 6.9起 ,此构造函数已禁用隐式转换。这意味着它仅接受构造函数参数类型,而不接受所有可隐式转换为该类型的值。一种向后兼容的解决方法是,显式地将参数强制转换为 QChar 构造函数支持的参数类型之一。
[constexpr noexcept] QChar::QChar(wchar_t ch)
构建一个与宽字符ch 对应的QChar。
注意:此 构造函数仅在 Windows 系统上可用。
注意:自 Qt 6.9起 ,此构造函数已禁用隐式转换。这意味着它仅接受构造函数参数类型,而不接受所有可隐式转换为该类型的值。一种向后兼容的解决方法是显式地将其强制转换为 QChar 构造函数支持的参数类型之一。
[explicit constexpr noexcept] QChar::QChar(uchar cell, uchar row)
为第row 行中的Unicode单元格cell 构建一个QChar。
[noexcept] QChar::Category QChar::category() const
返回角色的类别。
[static noexcept] QChar::Category QChar::category(char32_t ucs4)
返回由 `ucs4` 指定的 UCS-4 编码字符所属的类别。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
[constexpr noexcept] uchar QChar::cell() const
返回该 Unicode 字符的字节(最低有效字节)。
另请参阅 row()。
[noexcept] unsigned char QChar::combiningClass() const
返回该字符在Unicode标准中定义的组合类。这主要用于作为附加在基字符上的标记的定位提示。
Qt 文本渲染引擎利用此信息,将非间隔标记正确地定位在基字符周围。
[static noexcept] unsigned char QChar::combiningClass(char32_t ucs4)
根据Unicode标准,返回由ucs4 指定的UCS-4编码字符的组合类。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
[static noexcept] QChar::UnicodeVersion QChar::currentUnicodeVersion()
返回支持的最新 Unicode 版本。
QString QChar::decomposition() const
将一个字符分解为其组成部分。如果不存在可分解的形式,则返回一个空字符串。
[static] QString QChar::decomposition(char32_t ucs4)
将由 `ucs4 ` 指定的 UCS-4 编码字符分解为组成部分。如果不存在可分解的形式,则返回空字符串。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
[noexcept] QChar::Decomposition QChar::decompositionTag() const
返回定义该字符构成的标签。如果不存在分解形式,则返回QChar::NoDecomposition 。
[static noexcept] QChar::Decomposition QChar::decompositionTag(char32_t ucs4)
返回定义由ucs4 指定的UCS-4编码字符的构成的标签。如果不存在分解,则返回QChar::NoDecomposition 。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
[noexcept] int QChar::digitValue() const
返回该字符的数值,如果该字符不是数字,则返回 -1。
[static noexcept] int QChar::digitValue(char32_t ucs4)
返回由 UCS-4 编码字符ucs4 指定的数字的数值;如果该字符不是数字,则返回 -1。
注意:在 Qt 6之前 ,该函数接受一个uint 类型的参数。
这是一个重载函数。
[noexcept] QChar::Direction QChar::direction() const
返回角色的行进方向。
[static noexcept] QChar::Direction QChar::direction(char32_t ucs4)
返回由 `ucs4` 指定的 UCS-4 编码字符的方向。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
[static constexpr noexcept] QChar QChar::fromLatin1(char c)
将 Latin-1 字符c 转换为等效字符QChar 。这主要适用于未进行国际化处理的软件。
另一种方法是使用QLatin1Char 。
[static constexpr noexcept, since 6.0] QChar QChar::fromUcs2(char16_t c)
根据 UTF-16 字符c 构建一个 `QChar ` 对象。
该函数在 Qt 6.0 中引入。
另请参阅 fromUcs4()。
[static constexpr noexcept, since 6.0] auto QChar::fromUcs4(char32_t c)
返回一个匿名结构体,该结构体
- 包含一个
char16_t chars[2]数组, - 可隐式转换为QStringView ,并且
- 可使用 C++11 的范围 for 循环进行遍历。
如果 `c ` 需要代理字符,则 `chars[0] ` 包含高位代理字符,`chars[1] ` 包含低位代理字符,且 `QStringView ` 的大小为 2。否则,`chars[0] ` 包含 `c `,`chars[1] ` 为 `null`,且 `QStringView ` 的大小为 1。
这使得结果的使用变得非常简单:
for (char16_t c16 : QChar::fromUcs4(ch))
use(c16);该函数在 Qt 6.0 中引入。
另请参阅 fromUcs2() 和requiresSurrogates()。
[noexcept] bool QChar::hasMirrored() const
如果文本方向反转时该字符也应反转,则返回true ;否则返回false 。
这是 (ch.mirroredChar() != ch) 的等效实现,速度稍快。
另请参阅 mirroredChar()。
[static noexcept] bool QChar::hasMirrored(char32_t ucs4)
如果文本方向发生反转时,由 `ucs4 ` 指定的 UCS-4 编码字符需要反转,则返回 `true `;否则返回 `false`。
这是 (QChar::mirroredChar(ucs4) != ucs4) 的等效实现,速度稍快。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
另请参见 mirroredChar()。
[static constexpr noexcept] char16_t QChar::highSurrogate(char32_t ucs4)
返回一个 UCS-4 编码码点的高位代理部分。如果 `ucs4 ` 小于 0x10000,则返回结果未定义。
注意:在 Qt 6之前 ,该函数接受一个uint 参数,并返回ushort 。
[constexpr noexcept] bool QChar::isDigit() const
如果该字符是十进制数字(Number_DecimalDigit ),则返回true ;否则返回false 。
另请参阅 isNumber()。
[static constexpr noexcept] bool QChar::isDigit(char32_t ucs4)
如果由 `ucs4 ` 指定的 UCS-4 编码字符是十进制数字(Number_DecimalDigit ),则返回 `true `;否则返回 `false`。
注意:在 Qt 6之前 ,该函数接受一个uint 参数。
这是一个重载函数。
另请参阅 isNumber()。
[constexpr noexcept] bool QChar::isHighSurrogate() const
如果 `QChar ` 是 UTF-16 代理码的高位部分(例如,其码点在 [0xd800..0xdbff] 范围内),则返回 `true `;否则返回 `false`。
[static constexpr noexcept] bool QChar::isHighSurrogate(char32_t ucs4)
如果由 `ucs4 ` 指定的 UCS-4 编码字符是 UTF-16 代理字符的高位部分(例如,如果其码点在 [0xd800..0xdbff] 范围内),则返回 `true `;否则返回 `false`。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
[constexpr noexcept] bool QChar::isLetter() const
如果该字符是字母(属于Letter_*类别),则返回true ;否则返回false 。
[static constexpr noexcept] bool QChar::isLetter(char32_t ucs4)
如果由 `ucs4 ` 指定的 UCS-4 编码字符是字母(属于 `Letter_*` 类别),则返回 `true `;否则返回 `false`。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
[constexpr noexcept] bool QChar::isLetterOrNumber() const
如果该字符是字母或数字(属于Letter_*或Number_*类别),则返回true ;否则返回false 。
[static constexpr noexcept] bool QChar::isLetterOrNumber(char32_t ucs4)
如果由 `ucs4 ` 指定的 UCS-4 编码字符是字母或数字(属于 Letter_* 或 Number_* 类别),则返回 `true `;否则返回 `false`。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
[constexpr noexcept] bool QChar::isLowSurrogate() const
如果 `QChar ` 是 UTF-16 代理字符的低位部分(例如,其码点在 [0xdc00..0xdfff] 范围内),则返回 `true `;否则返回 `false`。
[static constexpr noexcept] bool QChar::isLowSurrogate(char32_t ucs4)
如果由 `ucs4 ` 指定的 UCS-4 编码字符是 UTF-16 代理字符的低位部分(例如,如果其码点在 [0xdc00..0xdfff] 范围内),则返回 `true `;否则返回 `false`。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
[constexpr noexcept] bool QChar::isLower() const
如果字符是小写字母,则返回true ,例如category() 的结果是Letter_Lowercase 。
另请参阅 isUpper()、toLower() 和toUpper()。
[static constexpr noexcept] bool QChar::isLower(char32_t ucs4)
如果由 `ucs4 ` 指定的 UCS-4 编码字符是小写字母,则返回 `true `;例如,`category()` 的结果是 `Letter_Lowercase`。
注意:在 Qt 6之前 ,该函数接受一个uint 类型的参数。
这是一个重载函数。
另请参阅 isUpper()、toLower() 和toUpper()。
[noexcept] bool QChar::isMark() const
如果该字符是标记(Mark_* 类别),则返回true ;否则返回false 。
有关标记的更多信息,请参阅QChar::Category 。
[static noexcept] bool QChar::isMark(char32_t ucs4)
如果由 `ucs4 ` 指定的 UCS-4 编码字符属于标记(Mark_* 类别),则返回 `true `;否则返回 `false`。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
[constexpr noexcept] bool QChar::isNonCharacter() const
如果QChar 不是字符,则返回true ;否则返回false。
Unicode 中有一部分码点被归类为“非字符”:也就是说,它们可用于应用程序的内部用途,但不能用于文本交换。 这些包括每个 Unicode 平面([0xfffe..0xffff]、[0x1fffe..0x1ffff] 等)中的最后两个条目,以及范围 [0xfdd0..0xfdef] 内的条目。
[static constexpr noexcept] bool QChar::isNonCharacter(char32_t ucs4)
如果由 `ucs4 ` 指定的 UCS-4 编码字符是非字符,则返回 `true `;否则返回 `false`。
Unicode 中有一部分码点被归类为“非字符”:也就是说,它们可用于应用程序的内部用途,但不能用于文本交换。 这些包括每个 Unicode 平面([0xfffe..0xffff]、[0x1fffe..0x1ffff] 等)的最后两个条目,以及范围 [0xfdd0..0xfdef] 内的条目。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
[constexpr noexcept] bool QChar::isNull() const
如果该字符是 Unicode 字符 0x0000('\0'),则返回true ;否则返回false 。
[constexpr noexcept] bool QChar::isNumber() const
如果该字符是数字(属于 Number_* 类别,不仅限于 0-9),则返回true ;否则返回false 。
另请参阅 isDigit()。
[static constexpr noexcept] bool QChar::isNumber(char32_t ucs4)
如果由 `ucs4 ` 指定的 UCS-4 编码字符是一个数字(属于 Number_* 类别,而不仅仅是 0-9),则返回 `true `;否则返回 `false`。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
另请参阅 isDigit()。
[noexcept] bool QChar::isPrint() const
如果该字符是可打印字符,则返回true ;否则返回false 。这是指不属于Other_*类别的任何字符。
请注意,这并不能表明该字符在特定字体中是否可用。
[static noexcept] bool QChar::isPrint(char32_t ucs4)
如果由 `ucs4 ` 指定的 UCS-4 编码字符是可打印字符,则返回 `true `;否则返回 `false`。这是任何不属于类别 `Other_*` 的字符。
请注意,这并不能表明该字符在特定字体中是否可用。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
[noexcept] bool QChar::isPunct() const
如果该字符是标点符号(属于 Punctuation_* 类别),则返回true ;否则返回false 。
[static noexcept] bool QChar::isPunct(char32_t ucs4)
如果由 `ucs4 ` 指定的 UCS-4 编码字符属于标点符号(`Punctuation_*` 类别),则返回 `true `;否则返回 `false`。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
[constexpr noexcept] bool QChar::isSpace() const
如果该字符是分隔符(属于Separator_*类别,或属于Other_Control 类别中的某些码点),则返回true ;否则返回false 。
[static constexpr noexcept] bool QChar::isSpace(char32_t ucs4)
如果由 `ucs4 ` 指定的 UCS-4 编码字符是分隔符(属于 `Separator_*` 类别或 `Other_Control ` 类别中的某些码点),则返回 `true `;否则返回 `false`。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
[constexpr noexcept] bool QChar::isSurrogate() const
如果QChar 包含一个位于UTF-16代理字符集高段或低段内的码点(例如,其码点位于[0xd800..0xdfff]范围内),则返回true ;否则返回false。
[static constexpr noexcept] bool QChar::isSurrogate(char32_t ucs4)
如果由 `ucs4 ` 指定的 UCS-4 编码字符包含位于 UTF-16 代理字符范围的高位或低位的码点(例如,如果其码点位于 [0xd800..0xdfff] 范围内),则返回 `true `;否则返回 `false`。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
[noexcept] bool QChar::isSymbol() const
如果该字符是符号(属于 Symbol_* 类别),则返回true ;否则返回false 。
[static noexcept] bool QChar::isSymbol(char32_t ucs4)
如果由 `ucs4 ` 指定的 UCS-4 编码字符是一个符号(属于 Symbol_* 类别),则返回 `true `;否则返回 `false`。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
[constexpr noexcept] bool QChar::isTitleCase() const
如果字符是标题大小写字母,则返回true ;例如,category() 的结果为Letter_Titlecase 。
另请参阅 isLower()、toUpper()、toLower() 以及toTitleCase()。
[static constexpr noexcept] bool QChar::isTitleCase(char32_t ucs4)
如果由 `ucs4 ` 指定的 UCS-4 编码字符是标题大小写字母,则返回 `true `;例如,`category()` 的结果是 `Letter_Titlecase`。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
另请参阅 isLower()、toUpper()、toLower() 和toTitleCase()。
[constexpr noexcept] bool QChar::isUpper() const
如果该字符是大写字母,则返回true ;例如,category() 的结果为Letter_Uppercase 。
另请参阅 isLower()、toUpper() 和toLower()。
[static constexpr noexcept] bool QChar::isUpper(char32_t ucs4)
如果由 `ucs4 ` 指定的 UCS-4 编码字符是大写字母,则返回 `true `;例如,`category()` 的结果是 `Letter_Uppercase`。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
另请参阅 isLower()、toUpper() 和toLower()。
[noexcept] QChar::JoiningType QChar::joiningType() const
返回有关字符连写类型属性的信息(某些语言(如阿拉伯语或叙利亚语)需要此信息)。
[static noexcept] QChar::JoiningType QChar::joiningType(char32_t ucs4)
返回由 `ucs4 ` 指定的 UCS-4 编码字符的连字类型属性信息(某些语言(如阿拉伯语或叙利亚语)需要此信息)。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
这是一个重载函数。
[static constexpr noexcept] char16_t QChar::lowSurrogate(char32_t ucs4)
返回一个 UCS-4 编码码点的低位代理部分。如果 `ucs4 ` 小于 0x10000,则返回结果未定义。
注意:在 Qt 6之前 ,此函数接受一个uint 参数,并返回ushort 。
[noexcept] QChar QChar::mirroredChar() const
如果该字符是镜像字符,则返回其镜像字符;否则返回该字符本身。
另请参阅 hasMirrored()。
[static noexcept] char32_t QChar::mirroredChar(char32_t ucs4)
如果由 `ucs4 ` 指定的 UCS-4 编码字符是镜像字符,则返回该镜像字符;否则返回该字符本身。
注意:在 Qt 6之前 ,该函数接受一个uint 参数,并返回uint 。
这是一个重载函数。
另请参阅 hasMirrored()。
[static constexpr noexcept] bool QChar::requiresSurrogates(char32_t ucs4)
如果由 `ucs4 ` 指定的 UCS-4 编码字符可以拆分为 UTF-16 代理字符的高位和低位(例如,当其码点大于或等于 0x10000 时),则返回 `true `;否则返回 `false`。
注意:在 Qt 6之前 ,此函数接受一个uint 参数。
[constexpr noexcept] uchar QChar::row() const
返回 Unicode 字符的行(最高有效字节)。
另请参阅 cell()。
[noexcept] QChar::Script QChar::script() const
返回该字符的 Unicode 脚本属性值。
[static noexcept] QChar::Script QChar::script(char32_t ucs4)
返回指定字符的 Unicode 脚本属性值,该字符以 UCS-4 编码形式表示为ucs4 。
注意:在 Qt 6之前, 此函数接受uint 类型的参数。
这是一个重载函数。
[static constexpr noexcept] char32_t QChar::surrogateToUcs4(char16_t high, char16_t low)
将具有给定high 和low 值的UTF-16代理对转换为其UCS-4编码的码点。
注意:在 Qt 6之前 ,该函数接受 `ushort ` 参数,并返回 `uint`。
[static constexpr noexcept] char32_t QChar::surrogateToUcs4(QChar high, QChar low)
将一个 UTF-16 代理对(high 、low )转换为其 UCS-4 编码的码点。
注意:在 Qt 6之前, 此函数返回uint 。
这是一个重载函数。
[noexcept] QChar QChar::toCaseFolded() const
返回该字符的大小写转换后的等效形式。对于大多数 Unicode 字符,这与 `toLower()` 的返回结果相同。
[static noexcept] char32_t QChar::toCaseFolded(char32_t ucs4)
返回由 `ucs4` 指定的、采用 UCS-4 编码的字符的“大小写折叠”等效形式。对于大多数 Unicode 字符,该函数的返回结果与 `toLower()` 相同。
注意:在 Qt 6之前 ,该函数接受一个uint 参数,并返回uint 。
这是一个重载函数。
[constexpr noexcept] char QChar::toLatin1() const
返回与QChar 等效的Latin-1字符,或返回0。此函数主要用于非国际化软件。
注意:无法 区分非 Latin-1 字符与 Latin-1 中的 0(NUL)字符。建议优先使用unicode(),该函数不存在此歧义。
另请参阅 unicode()。
[noexcept] QChar QChar::toLower() const
如果字符是大写或标题格式,则返回其小写形式;否则返回该字符本身。
[static noexcept] char32_t QChar::toLower(char32_t ucs4)
如果由 `ucs4 ` 指定的 UCS-4 编码字符为大写或标题大小写,则返回该字符的小写等价形式;否则返回该字符本身。
注意:在 Qt 6之前 ,该函数接受一个 `uint ` 参数,并返回 `uint`。
这是一个重载函数。
[noexcept] QChar QChar::toTitleCase() const
如果字符为小写或大写,则返回其标题格式对应的字符;否则返回该字符本身。
[static noexcept] char32_t QChar::toTitleCase(char32_t ucs4)
如果由ucs4 指定的字符采用UCS-4编码,且该字符为小写或大写,则返回其标题大小写形式的等效字符;否则返回该字符本身。
注意:在 Qt 6之前 ,此函数接受一个uint 参数,并返回uint 。
这是一个重载函数。
[noexcept] QChar QChar::toUpper() const
如果字符为小写或标题大小写,则返回其大写形式;否则返回该字符本身。
注意: 在极少数情况下,如果该字符的大写形式需要两个或更多字符,此 函数也会返回原始字符。
另请参阅 QString::toUpper()。
[static noexcept] char32_t QChar::toUpper(char32_t ucs4)
如果由ucs4 指定的UCS-4编码字符为小写或标题大小写,则返回该字符的大写形式;否则返回该字符本身。
注意: 在极少数情况下,如果该字符的大写形式需要两个或更多字符,则此 函数也会返回原始字符。
注意:在 Qt 6之前 ,此函数接受uint 参数,并返回uint 。
这是一个重载函数。
另请参阅 QString::toUpper()。
[constexpr noexcept] char16_t &QChar::unicode()
返回对QChar 的数值Unicode值的引用。
[constexpr noexcept] char16_t QChar::unicode() const
返回QChar 的数值型Unicode值。
[noexcept] QChar::UnicodeVersion QChar::unicodeVersion() const
返回引入该字符的 Unicode 版本。
[static noexcept] QChar::UnicodeVersion QChar::unicodeVersion(char32_t ucs4)
返回引入了该字符的Unicode版本,该字符以UCS-4编码形式表示为ucs4 。
注意:在 Qt 6之前 ,此函数接受一个uint 类型的参数。
这是一个重载函数。
相关的非成员函数
[constexpr noexcept] bool operator!=(const QChar &c1, const QChar &c2)
如果c1 和c2 不是同一个 Unicode 字符,则返回true ;否则返回false 。
[constexpr noexcept] bool operator<(const QChar &c1, const QChar &c2)
如果c1 的Unicode数值小于c2 的Unicode数值,则返回true ;否则返回false 。
QDataStream &operator<<(QDataStream &out, QChar chr)
将字符chr 写入流out 。
另请参阅 《Qt 数据类型的序列化》。
[constexpr noexcept] bool operator<=(const QChar &c1, const QChar &c2)
如果c1 的Unicode数值小于或等于c2 的Unicode数值,则返回true ;否则返回false 。
[constexpr noexcept] bool operator==(const QChar &c1, const QChar &c2)
如果 `c1 ` 和 `c2 ` 是同一个 Unicode 字符,则返回 `true `;否则返回 `false`。
[constexpr noexcept] bool operator>(const QChar &c1, const QChar &c2)
如果c1 的Unicode数值大于c2 的Unicode数值,则返回true ;否则返回false 。
[constexpr noexcept] bool operator>=(const QChar &c1, const QChar &c2)
如果c1 的Unicode数值大于或等于c2 的Unicode数值,则返回true ;否则返回false 。
QDataStream &operator>>(QDataStream &in, QChar &chr)
从流in 中读取一个字符,并将其赋值给字符变量chr 。
另请参阅 《Qt 数据类型的序列化》。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.