QChar类
QChar类提供16位Unicode字符。更多信息...
头文件 | #include <QChar> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake | QT += core |
- 包括继承成员在内的所有成员列表
- QChar是字符串数据类的一部分。
注意:此类中所有函数都是可重入的。
公共类型
枚举 | 类别 { Mark_NonSpacing, Mark_SpacingCombining, Mark_Enclosing, Number_DecimalDigit, Number_Letter, …, Symbol_Other } |
枚举 | 分解 { NoDecomposition, Canonical, Circle, Compat, Final, …, Wide } |
枚举 | 方向 { DirAL, DirAN, DirB, DirBN, DirCS, …, DirWS } |
枚举 | 连接类型 { Joining_None, Joining_Causing, Joining_Dual, Joining_Right, Joining_Left, Joining_Transparent } |
枚举 | 脚本 { Script_Unknown, Script_Inherited, Script_Common, Script_Adlam, Script_Ahom, …, Script_ZanabazarSquare } |
枚举 | 特殊字符 { Null, Tabulation, LineFeed, FormFeed, CarriageReturn, …, LastValidCodePoint } |
枚举 | Unicode版本 { Unicode_1_1, Unicode_2_0, Unicode_2_1_2, Unicode_3_0, Unicode_3_1, …, Unicode_Unassigned } |
公共函数
QChar() | |
QChar(ushort code) | |
QChar(uchar cell, uchar row) | |
QChar(short code) | |
QChar(uint code) | |
QChar(int code) | |
QChar(QChar::SpecialCharacter ch) | |
QChar(QLatin1Char ch) | |
QChar(char16_t ch) | |
QChar(wchar_t ch) | |
QChar(char ch) | |
QChar(uchar ch) | |
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() const |
char16_t & | unicode() |
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) R | 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!=(QChar c1, QChar c2) |
bool | operator<(QChar c1, QChar c2) |
QDataStream & | operator<<(QDataStream &out, QChar chr) |
bool | operator<=(QChar c1, QChar c2) |
bool | operator==(QChar c1, QChar c2) |
bool | operator>(QChar c1, QChar c2) |
bool | operator>=(QChar c1, QChar c2) |
QDataStream & | operator>>(QDataStream &in, QChar &chr) |
宏定义
(自6.0版本起) | QT_IMPLICIT_QCHAR_CONSTRUCTION |
详细说明
在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定义的类别。其中一些也计算派生属性(例如,isSpace()如果字符是分隔符_*或来自Other_Control类别的异常代码点,则返回true
)。
QChar还提供了direction(),它指示此字符的“自然”书写方向。函数joiningType()指示字符如何与其相邻字符连接(主要用于阿拉伯语或叙利亚语),最后是hasMirrored(),它指示字符在以“不自然”的书写方向打印时是否需要镜像。
组合Unicode字符(如ring)可以通过使用decomposition()转换为分解Unicode(“a”后跟“ring above”)。
在Unicode编码中,比较在多数情况下是不可行的,且大小写转换也极为困难。Unicode覆盖了“整个”世界,也包含了世界大多数的大小写和排序问题。operator==()及其相关函数将基于数字Unicode值(码点)进行比较,而当字符具有良好定义的大小写等效关系时,toUpper()和toLower()将执行大小写转换。对于与地区相关的比较,请使用QString::localeAwareCompare()。
转换函数包括unicode()(转换为标量)、toLatin1()(转换为标量,但将所有非Latin-1字符转换为0)、row()(提供Unicode行)、cell()(提供Unicode单元)、digitValue()(提供众多数字字符中的整数值)以及许多构造函数。
QChar提供了构造函数和类型转换运算符,使得从传统8位char到QChar及其反向转换变得简单。如果你在QString文档中定义了QT_NO_CAST_FROM_ASCII
和QT_NO_CAST_TO_ASCII
,将需要显式调用fromLatin1(),或者使用QLatin1Char来从8位char构造QChar,并且你需要调用toLatin1()来获取8位值。
从Qt 6.0开始,大多数QChar构造函数都是explicit
。这样做是为了避免在意外混合整型类型和字符串时发生危险错误。你可以通过定义宏QT_IMPLICIT_QCHAR_CONSTRUCTION
来取消订阅(并将这些构造函数变为隐式)。
有关更多信息,请参阅“关于Unicode字符数据库”。
另请参阅Unicode、QString和QLatin1Char。
成员类型文档
枚举QChar::Category
此枚举映射Unicode字符类别。
以下字符在Unicode中是规范性的:
常数 | 值 | 描述 |
---|---|---|
QChar::Mark_NonSpacing | 0 | Unicode类名Mn |
QChar::Mark_SpacingCombining | 1 | Unicode类名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类名Ll |
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::CurrencySymbol | 27 | Unicode类名称Sc |
QChar::ModifierSymbol | 28 | Unicode类名称Sk |
QChar::OtherSymbol | 29 | Unicode类名称So |
另请参阅类别。
枚举 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 |
另请参阅分解。
枚举 QChar::Direction
此枚举类型定义了Unicode方向属性。有关值的描述,请参阅Unicode标准。
为了符合C/C++命名约定,"Dir"被添加到Unicode标准中使用的代码中。
常数 | 值 |
---|---|
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(自Qt 5.3起) | 21 |
QChar::DirL | 0 |
QChar::DirLRE | 11 |
QChar::DirLRI(自Qt 5.3起) | 19 |
QChar::DirLRO | 12 |
QChar::DirNSM | 17 |
QChar::DirON | 10 |
QChar::DirPDF | 16 |
QChar::DirPDI(自Qt 5.3起) | 22 |
QChar::DirR | 1 |
QChar::DirRLE | 14 |
QChar::DirRLI(自Qt 5.3起) | 20 |
QChar::DirRLO | 15 |
QChar::DirS | 8 |
QChar::DirWS | 9 |
另请参阅方向。
枚举 QChar::JoiningType
自5.3起
此枚举类型定义了Unicode联合类型属性。有关值的描述,请参阅Unicode标准。
为了符合C/C++命名约定,"Joining_"被添加到Unicode标准中使用的代码中。
常数 | 值 |
---|---|
QChar::Joining_None | 0 |
QChar::Joining_Causing | 1 |
QChar::Joining_Dual | 2 |
QChar::Joining_Right | 3 |
QChar::Joining_Left | 4 |
QChar::Joining_Transparent | 5 |
另请参阅联合类型。
枚举 QChar::Script
此枚举类型定义了Unicode书写系统属性值。
有关Unicode书写系统属性值的详细信息,请参阅Unicode标准附录#24。
为了符合C/C++命名约定,"Script_"被添加到Unicode标准中使用的代码中。
常数 | 值 | 描述 |
---|---|---|
QChar::Script_Unknown | 0 | 对于未分配、专用、非字符和非代理代码点。 |
QChar::Script_Inherited | 1 | 对于可以与多个书写系统一起使用并且从前一个字符继承其书写系统的字符。这包括非断开符号、包围符号和零宽度连接器/非连接器字符。 |
QChar::Script_Common | 2 | 对于可以与多个书写系统一起使用但不从前一个字符继承其书写系统的字符。 |
QChar::Script_Adlam(自Qt 5.11起) | 132 | |
QChar::Script_Ahom(自Qt 5.6起) | 126 | |
QChar::Script_AnatolianHieroglyphs(自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(自Qt 5.5起) | 104 | |
QChar::Script_Batak | 93 | |
QChar::Script_Bengali | 12 | |
QChar::Script_Bhaiksuki(自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(自Qt 5.5起) | 103 | |
QChar::Script_Chakma | 96 | |
QChar::Script_Cham | 77 | |
QChar::Script_Cherokee | 28 | |
QChar::Script_Chorasmian(自Qt 5.15起) | 153 | |
QChar::Script_Coptic | 46 | |
QChar::Script_Cuneiform | 63 | |
QChar::Script_Cypriot | 53 | |
QChar::Script_CyproMinoan (自 Qt 6.3) | 157 | |
QChar::Script_Cyrillic | 5 | |
QChar::Script_Deseret | 41 | |
QChar::Script_Devanagari | 11 | |
QChar::Script_DivesAkuru (自 Qt 5.15) | 154 | |
QChar::Script_Dogra (自 Qt 5.15) | 142 | |
QChar::Script_Duployan (自 Qt 5.5) | 105 | |
QChar::Script_EgyptianHieroglyphs | 81 | |
QChar::Script_Elbasan (自 Qt 5.5) | 106 | |
QChar::Script_Elymaic (自 Qt 5.15) | 149 | |
QChar::Script_Ethiopic | 27 | |
QChar::Script_Georgian | 25 | |
QChar::Script_Glagolitic | 57 | |
QChar::Script_Gothic | 40 | |
QChar::Script_Grantha (自 Qt 5.5) | 107 | |
QChar::Script_Greek | 4 | |
QChar::Script_Gujarati | 14 | |
QChar::Script_GunjalaGondi (自 Qt 5.15) | 143 | |
QChar::Script_Gurmukhi | 13 | |
QChar::Script_Han | 37 | |
QChar::Script_Hangul | 26 | |
QChar::Script_HanifiRohingya (自 Qt 5.15) | 144 | |
QChar::Script_Hanunoo | 43 | |
QChar::Script_Hatran (自 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 (自 Qt 6.5) | 162 | |
QChar::Script_KayahLi | 72 | |
QChar::Script_Kharoshthi | 61 | |
QChar::Script_KhitanSmallScript (自 Qt 5.15) | 155 | |
QChar::Script_Khmer | 32 | |
QChar::Script_Khojki (自 Qt 5.5) | 109 | |
QChar::Script_Khudawadi (自 Qt 5.5) | 123 | |
QChar::Script_Lao | 22 | |
QChar::Script_Latin | 3 | |
QChar::Script_Lepcha | 68 | |
QChar::Script_Limbu | 47 | |
QChar::Script_LinearA (自 Qt 5.5) | 110 | |
QChar::Script_LinearB | 49 | |
QChar::Script_Lisu | 83 | |
QChar::Script_Lycian | 74 | |
QChar::Script_Lydian | 76 | |
QChar::Script_Mahajani (自 Qt 5.5) | 111 | |
QChar::Script_Makasar (自 Qt 5.15) | 145 | |
QChar::Script_Malayalam | 19 | |
QChar::Script_Mandaic | 95 | |
QChar::Script_Manichaean (自 Qt 5.5) | 112 | |
QChar::Script_Marchen (自 Qt 5.11) | 134 | |
QChar::Script_MasaramGondi (自 Qt 5.11) | 138 | |
QChar::Script_Medefaidrin (自 Qt 5.15) | 146 | |
QChar::Script_MeeteiMayek | 86 | |
QChar::Script_MendeKikakui (自 Qt 5.5) | 113 | |
QChar::Script_MeroiticCursive | 97 | |
QChar::Script_MeroiticHieroglyphs | 98 | |
QChar::Script_Miao | 99 | |
QChar::Script_Modi (自 Qt 5.5) | 114 | |
QChar::Script_Mongolian | 33 | |
QChar::Script_Mro (自 Qt 5.5) | 115 | |
QChar::Script_Multani (自 Qt 5.6) | 129 | |
QChar::Script_Myanmar | 24 | |
QChar::Script_Nabataean (自 Qt 5.5) | 117 | |
QChar::Script_NagMundari (自 Qt 6.3) | 163 | |
QChar::Script_Nandinagari (自 Qt 5.15) | 150 | |
QChar::Script_Newa (自 Qt 5.11) | 135 | |
QChar::Script_NewTaiLue | 56 | |
QChar::Script_Nko | 66 | |
QChar::Script_Nushu (自 Qt 5.11) | 139 | |
QChar::Script_NyiakengPuachueHmong (自 Qt 5.15) | 151 | |
QChar::Script_Ogham | 30 | |
QChar::Script_OlChiki | 69 | |
QChar::Script_OldHungarian (自 Qt 5.6) | 130 | |
QChar::Script_OldItalic | 39 | |
QChar::Script_OldNorthArabian (自 Qt 5.5) | 116 | |
QChar::Script_OldPermic (自 Qt 5.5) | 120 | |
QChar::Script_OldPersian | 60 | |
QChar::Script_OldSogdian (自 Qt 5.15) | 147 | |
QChar::Script_OldSouthArabian | 88 | |
QChar::Script_OldTurkic | 91 | |
QChar::Script_OldUyghur (自 Qt 6.3) | 158 | |
QChar::Script_Oriya | 15 | |
QChar::Script_Osage (自 Qt 5.11) | 136 | |
QChar::Script_Osmanya | 52 | |
QChar::Script_PahawhHmong (自 Qt 5.5) | 108 | |
QChar::Script_Palmyrene (自 Qt 5.5) | 118 | |
QChar::Script_PauCinHau (自 Qt 5.5) | 119 | |
QChar::Script_PhagsPa | 65 | |
QChar::Script_Phoenician | 64 | |
QChar::Script_PsalterPahlavi (自 Qt 5.5) | 121 | |
QChar::Script_Rejang | 73 | |
QChar::Script_Runic | 31 | |
QChar::Script_Samaritan | 82 | |
QChar::Script_Saurashtra | 71 | |
QChar::Script_Sharda | 100 | |
QChar::Script_Shavian | 51 | |
QChar::Script_Siddham (自 Qt 5.5) | 122 | |
QChar::Script_SignWriting (自 Qt 5.6) | 131 | |
QChar::Script_Sinhala | 20 | |
QChar::Script_Sogdian (自 Qt 5.15) | 148 | |
QChar::Script_SoraSompeng | 101 | |
QChar::Script_Soyombo (自 Qt 5.11) | 140 | |
QChar::Script_Sundanese | 67 | |
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_Takri | 102 | |
QChar::Script_Tamil | 16 | |
QChar::Script_Tangut (自 Qt 5.11) | 137 | |
QChar::Script_Tangsa (自 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 (自 Qt 5.5) | 124 | |
QChar::Script_Toto (自 Qt 6.3) | 160 | |
QChar::Script_Ugaritic | 50 | |
QChar::Script_Vai | 70 | |
QChar::Script_Vithkuqi (自 Qt 6.3) | 161 | |
QChar::Script_Wancho (自 Qt 5.15) | 152 | |
QChar::Script_WarangCiti (自 Qt 5.5) | 125 | |
QChar::Script_Yezidi (自 Qt 5.15) | 156 | |
QChar::Script_Yi | 38 | |
QChar::Script_ZanabazarSquare (自 Qt 5.11 开始) | 141 |
另请参阅脚本。
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 (自 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 (自 Qt 5.3 开始) | 15 | 版本 6.3 |
QChar::Unicode_7_0 (自 Qt 5.5 开始) | 16 | 版本 7.0 |
QChar::Unicode_8_0 (自 Qt 5.6 开始) | 17 | 版本 8.0 |
QChar::Unicode_9_0 (自 Qt 5.11 开始) | 18 | 版本 9.0 |
QChar::Unicode_10_0 (自 Qt 5.11 开始) | 19 | 版本 10.0 |
QChar::Unicode_11_0 (自 Qt 5.15 开始) | 20 | 版本 11.0 |
QChar::Unicode_12_0 (自 Qt 5.15 开始) | 21 | 版本 12.0 |
QChar::Unicode_12_1 (自 Qt 5.15 开始) | 22 | 版本 12.1 |
QChar::Unicode_13_0 (自 Qt 5.15 开始) | 23 | 版本 13.0 |
QChar::Unicode_14_0 (自 Qt 6.3 开始) | 24 | 版本 14.0 |
QChar::Unicode_15_0 (自 Qt 6.5 开始) | 25 | 版本 15.0 |
QChar::Unicode_Unassigned | 0 | 该值在 Unicode 8.0 版本中没有分配给任何字符。 |
另请参阅unicodeVersion() 和 currentUnicodeVersion。
成员函数文档
[constexpr noexcept]
QChar::QChar()
构造一个空 QChar ('\0')。
另请参阅isNull。
[constexpr noexcept]
QChar::QChar(ushort code)
构造一个具有 Unicode 码点 code 的 QChar。
[explicit constexpr noexcept]
QChar::QChar(uchar cell, uchar row)
构建用于行 row 中 Unicode 单元 cell 的 QChar。
[constexpr noexcept]
QChar::QChar(short code)
构造一个具有 Unicode 码点 code 的 QChar。
[explicit constexpr noexcept]
QChar::QChar(uint code)
构造一个具有 Unicode 码点 code 的 QChar。
[explicit constexpr noexcept]
QChar::QChar(int code)
构造一个具有 Unicode 码点 code 的 QChar。
[constexpr noexcept]
QChar::QChar(QChar::SpecialCharacter ch)
构建一个用于预定义字符值 ch 的 QChar。
[constexpr noexcept]
QChar::QChar(QLatin1Char ch)
构建一个对应于 ASCII/Latin-1 字符 ch 的 QChar。
[constexpr noexcept]
QChar::QChar(char16_t ch)
构建一个对应于 UTF-16 字符 ch 的 QChar。
[constexpr noexcept]
QChar::QChar(wchar_t ch)
构建一个对应于宽字符 ch 的 QChar。
注意:此构造函数只在 Windows 上可用。
[constexpr noexcept]
QChar::QChar(char ch)
构建一个对应于 ASCII/Latin-1 字符 ch 的 QChar。
注意:当定义了 QT_NO_CAST_FROM_ASCII
时,此构造函数不可用。
另请参阅:QT_NO_CAST_FROM_ASCII。
[explicit constexpr noexcept]
QChar::QChar(uchar ch)
构建一个对应于 ASCII/Latin-1 字符 ch 的 QChar。
注意:当定义了 QT_NO_CAST_FROM_ASCII
或 QT_RESTRICTED_CAST_FROM_ASCII
时,此构造函数不可用。
另请参阅:QT_NO_CAST_FROM_ASCII 和 QT_RESTRICTED_CAST_FROM_ASCII。
[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)
这是一个重载函数。
返回由ucs4指定的UCS-4编码字符的组合类别,如Unicode标准中定义。
注意:在 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)
将拉丁-1字符c转换为等效的QChar。这主要用于非国际化软件。
另一种选择是使用QLatin1Char。
[静态常量异常处理,自6.0版本起]
QChar QChar::fromUcs2(char16_t c)
从UTF-16字符c构造一个QChar。
此函数自Qt 6.0版本中引入。
另请参阅fromUcs4。
[静态常量异常处理,自6.0版本起]
R 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是UTF16代理的高位部分(例如,如果其码点是[0xd800..0xdbff]范围内的),则返回true
;否则返回false。
[静态常量例外]
bool QChar::isHighSurrogate(char32_t ucs4)
这是一个重载函数。
如果由ucs4指定的UCS-4编码字符是UTF16代理的高位部分(例如,如果其码点在[0xd800..0xdbff]范围内),则返回true
;否则返回false。
注意:在 Qt 6 之前,此函数接受一个 uint
参数。
[常量例外]
bool QChar::isLetter() const
如果字符是字母(Letter_*类别),则返回true
;否则返回false
。
[静态常量例外]
bool QChar::isLetter(char32_t ucs4)
这是一个重载函数。
如果由ucs4指定的UCS-4编码字符是字母(Letter_*类别),则返回true
;否则返回false
。
注意:在 Qt 6 之前,此函数接受一个 uint
参数。
[常量例外]
bool QChar::isLetterOrNumber() const
如果字符是字母或数字(Letter_*或Number_*类别),则返回true
;否则返回false
。
[静态常量例外]
bool QChar::isLetterOrNumber(char32_t ucs4)
这是一个重载函数。
如果由ucs4指定的UCS-4编码字符是字母或数字(Letter_*或Number_*类别),则返回true
;否则返回false
。
注意:在 Qt 6 之前,此函数接受一个 uint
参数。
[常量例外]
bool QChar::isLowSurrogate() const
如果QChar是UTF16代理的低位部分(例如,如果其码点是[0xdc00..0xdfff]范围内的),则返回true
;否则返回false。
[静态常量例外]
bool QChar::isLowSurrogate(char32_t ucs4)
这是一个重载函数。
如果由ucs4指定的UCS-4编码字符是UTF16代理的低位部分(例如,如果其码点在[0xdc00..0xdfff]范围内),则返回true
;否则返回false。
注意:在 Qt 6 之前,此函数接受一个 uint
参数。
[常量例外]
bool QChar::isLower() const
如果字符是小写字母,例如category()是Letter_Lowercase,则返回true
。
另请参阅isUpper()、toLower()和toUpper()。
[静态常量例外]
bool QChar::isLower(char32_t ucs4)
这是一个重载函数。
如果由ucs4指定的UCS-4编码字符是小写字母,例如category()是Letter_Lowercase,则返回true
。
注意:在 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
如果字符是标点符号(标点符号_*类别),则返回true
;否则返回false
。
[static noexcept]
bool QChar::isPunct(char32_t ucs4)
这是一个重载函数。
如果由ucs4指定的UCS-4编码字符是标点符号(标点符号_*类别),则返回true
;否则返回false
。
注意:在 Qt 6 之前,此函数接受一个 uint
参数。
[constexpr noexcept]
bool QChar::isSpace() const
如果字符是分隔符字符(分隔符_*类别或来自Other_Control类别的某些代码点),则返回true
;否则返回false
。
[static constexpr noexcept]
bool QChar::isSpace(char32_t ucs4)
这是一个重载函数。
如果由ucs4指定的UCS-4编码字符是分隔符字符(分隔符_*类别或来自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
如果字符是符号(符号_*类别),则返回true
;否则返回false
。
[static noexcept]
bool QChar::isSymbol(char32_t ucs4)
这是一个重载函数。
如果由ucs4指定的UCS-4编码字符是符号(符号_*类别),则返回true
;否则返回false
。
注意:在 Qt 6 之前,此函数接受一个 uint
参数。
[constexpr noexcept]
bool QChar::isTitleCase() const
如果字符是大写字母,例如category()是Letter_Titlecase,则返回true
。
另请参阅 isLower (),toUpper (),toLower ()和toTitleCase ()。
[static constexpr noexcept]
bool QChar::isTitleCase(char32_t ucs4)
这是一个重载函数。
如果由ucs4指定的UCS-4编码字符是大写字母,例如category () 是Letter_Titlecase,则返回true
。
注意:在 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)
这是一个重载函数。
如果UCS-4编码的字符 ucs4 是大写字母,则返回 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)
这是一个重载函数。
返回关于UCS-4编码字符 ucs4 的连接类型属性的信息(例如阿拉伯语或叙利亚语等语言所需)。
注意:在 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)
这是一个重载函数。
如果UCS-4编码字符 ucs4 是镜像字符,则返回镜像字符;否则返回该字符本身。
注意:在Qt 6之前,此函数接受一个 uint
参数并返回 uint
。
另请参阅hasMirrored。
[static constexpr noexcept]
bool QChar::requiresSurrogates(char32_t ucs4)
如果UCS-4编码字符 ucs4 可以分解为UTF16代理的高位和低位部分(例如其代码点大于或等于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)
这是一个重载函数。
返回指定为UCS-4编码形式 ucs4 的字符的Unicode脚本属性值。
注意:在 Qt 6 之前,此函数接受一个 uint
参数。
[静态常量无非抛出异常]
char32_t QChar::surrogateToUcs4(char16_t high, char16_t low)
将具有给定 high 和 low 值的 UTF16 代理对转换为它的 UCS-4 编码的码点。
注意:在 Qt 6 之前,此函数接受 ushort
参数并返回 uint
。
[静态常量无非抛出异常]
char32_t QChar::surrogateToUcs4(QChar high, QChar low)
这是一个重载函数。
将 UTF16 代理对 (high, low) 转换为其 UCS-4 编码的码点。
注意:在 Qt 6 之前,此函数返回 uint
。
[无不抛出异常]
QChar QChar::toCaseFolded() const
返回字符的大小写折叠等效形式。对于大多数 Unicode 字符,这和 toLower() 一样。
[静态无不抛出异常]
char32_t QChar::toCaseFolded(char32_t ucs4)
这是一个重载函数。
返回由 ucs4 指定的 UCS-4 编码字符的大小写折叠等效形式。对于大多数 Unicode 字符,这和 toLower() 一样。
注意:在Qt 6之前,此函数接受一个 uint
参数并返回 uint
。
[ constexpr无不抛出异常]
char QChar::toLatin1() const
返回与 QChar 相等的拉丁-1 字符,或 0。这对于非国际化软件很有用。
注意:无法区分非拉丁-1 字符和拉丁-1 0(空值)字符。建议使用 unicode(),它不具有这种歧义。
另请参阅:unicode()。
[无不抛出异常]
QChar QChar::toLower() const
如果字符是大写或标题大小写,则返回其小写等效形式;否则返回字符本身。
[静态无不抛出异常]
char32_t QChar::toLower(char32_t ucs4)
这是一个重载函数。
如果由 ucs4 指定的字符是大写或标题大小写,则返回其小写等效形式;否则返回字符本身。
注意:在Qt 6之前,此函数接受一个 uint
参数并返回 uint
。
[无不抛出异常]
QChar QChar::toTitleCase() const
如果字符是小写或大写,则返回其标题大小写等效形式;否则返回字符本身。
[静态无不抛出异常]
char32_t QChar::toTitleCase(char32_t ucs4)
这是一个重载函数。
如果由 ucs4 指定的字符是小写或大写,则返回其标题大小写等效形式;否则返回字符本身。
注意:在Qt 6之前,此函数接受一个 uint
参数并返回 uint
。
[无不抛出异常]
QChar QChar::toUpper() const
如果字符是小写或标题大小写,则返回其大写等效形式;否则返回字符本身。
[static noexcept]
char32_t QChar::toUpper(char32_t ucs4)
这是一个重载函数。
返回指定为 ucs4 的 UC-4 编码字符的大写等效字符,如果该字符是小写或标题样式,否则返回字符本身。
注意:在Qt 6之前,此函数接受一个 uint
参数并返回 uint
。
[constexpr noexcept]
char16_t QChar::unicode() const
返回 QChar 的数值 Unicode 值。
[constexpr noexcept]
char16_t &QChar::unicode()
返回对 QChar 的数值 Unicode 值的引用。
[noexcept]
QChar::UnicodeVersion QChar::unicodeVersion() const
返回引入此字符的 Unicode 版本。
[static noexcept]
QChar::UnicodeVersion QChar::unicodeVersion(char32_t ucs4)
这是一个重载函数。
返回引入形式为 ucs4 的 Unicode 编码字符的 Unicode 版本。
注意:在 Qt 6 之前,此函数接受一个 uint
参数。
相关非成员函数
[constexpr noexcept]
bool operator!=(QChar c1, QChar c2)
如果 c1 和 c2 不是相同的 Unicode 字符,则返回 true
;否则返回 false
。
[constexpr noexcept]
bool operator<(QChar c1, QChar c2)
如果 c1 的数值 Unicode 值小于 c2 的值,则返回 true
;否则返回 false
。
QDataStream &operator<<(QDataStream &out, QChar chr)
将字符 chr 写入流 out。
另请参阅序列化 Qt 数据类型。
[constexpr noexcept]
bool operator<=(QChar c1, QChar c2)
如果 c1 的数值 Unicode 值小于或等于 c2 的值,则返回 true
;否则返回 false
。
[constexpr noexcept]
bool operator==(QChar c1, QChar c2)
如果 c1 和 c2 是相同的 Unicode 字符,则返回 true
;否则返回 false
。
[constexpr noexcept]
bool operator>(QChar c1, QChar c2)
如果 c1 的 Unicode 值大于 c2,返回 true
;否则返回 false
。
[constexpr noexcept]
bool operator>=(QChar c1, QChar c2)
如果 c1 的 Unicode 值大于或等于 c2,返回 true
;否则返回 false
。
QDataStream &operator>>(QDataStream &in, QChar &chr)
从流 in 读取一个字符到字符 chr。
另请参阅序列化 Qt 数据类型。
宏文档
[since 6.0]
QT_IMPLICIT_QCHAR_CONSTRUCTION
定义此宏会使某些 QChar 构造函数成为隐式而非显式的。这是为了强制进行安全转换
QString str = getString(); if (str == 123) { // Oops, meant str == "123". By default does not compile, // *unless* this macro is defined, in which case, it's interpreted // as `if (str == QChar(123))`, that is, `if (str == '{')`. // Likely, not what we meant. }
此宏提供以保持现有代码正常工作;建议使用显式转换以及/或 QLatin1Char。例如
QChar c1 = 'x'; // OK, unless QT_NO_CAST_FROM_ASCII is defined QChar c2 = u'x'; // always OK, recommended QChar c3 = QLatin1Char('x'); // always OK, recommended // from int to 1 UTF-16 code unit: must guarantee that the input is <= 0xFFFF QChar c4 = 120; // compile error, unless QT_IMPLICIT_QCHAR_CONSTRUCTION is defined QChar c5(120); // OK (direct initialization) auto c6 = QChar(120); // ditto // from int/char32_t to 1/2 UTF-16 code units: // 𝄞 'MUSICAL SYMBOL G CLEF' (U+1D11E) auto c7 = QChar(0x1D11E); // compiles, but undefined behavior at runtime auto c8 = QChar::fromUcs4(0x1D11E); // always OK auto c9 = QChar::fromUcs4(U'\U0001D11E'); // always OK // => use c8/c9 as QStringView objects
此宏是在 Qt 6.0 中引入的。
© 2024 The Qt Company Ltd. 本文档中包含的文档贡献归其各自所有者版权所有。本文件提供的文档受 GNU 自由文档许可证版本 1.3 许可,该许可证由自由软件基金会发布。Qt 和相关的标志是芬兰以及/或全球其他地区的 The Qt Company Ltd. 的商标。所有其他商标均为其各自所有者的财产。