本页内容

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 比较

类别可比较类型描述
strongQChar
strongchar16_t、QString 、QStringView 、QLatin1StringView 和QUtf8StringView 。
strongconst 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_NonSpacing0Unicode 类名 Mn
QChar::Mark_SpacingCombining1Unicode 类名 MnUnicode 类名 Mc
QChar::Mark_Enclosing2Unicode 类名 Me
QChar::Number_DecimalDigit3Unicode 类名 Nd
QChar::Number_Letter4Unicode 类名 Nl
QChar::Number_Other5Unicode 类名 No
QChar::Separator_Space6Unicode 类名 Zs
QChar::Separator_Line7Unicode 类名 Zl
QChar::Separator_Paragraph8Unicode 类名 Zp
QChar::Other_Control9Unicode 类名 Cc
QChar::Other_Format10Unicode 类名 Cf
QChar::Other_Surrogate11Unicode 类名 Cs
QChar::Other_PrivateUse12Unicode 类名 Co
QChar::Other_NotAssigned13Unicode 类名 Cn

以下类别在 Unicode 中仅供参考:

常量值描述
QChar::Letter_Uppercase14Unicode 类名 Lu
QChar::Letter_Lowercase15Unicode 类名 LuLl
QChar::Letter_Titlecase16Unicode 类名 Lt
QChar::Letter_Modifier17Unicode 类名 Lm
QChar::Letter_Other18Unicode 类名 Lo
QChar::Punctuation_Connector19Unicode 类名 Pc
QChar::Punctuation_Dash20Unicode 类名 Pd
QChar::Punctuation_Open21Unicode 类名 Ps
QChar::Punctuation_Close22Unicode 类名 Pe
QChar::Punctuation_InitialQuote23Unicode 类名 Pi
QChar::Punctuation_FinalQuote24Unicode 类名 Pf
QChar::Punctuation_Other25Unicode 类名 Po
QChar::Symbol_Math26Unicode 类名 Sm
QChar::Symbol_Currency27Unicode 类名 Sc
QChar::Symbol_Modifier28Unicode 类名 Sk
QChar::Symbol_Other29Unicode 类名 So

另请参阅 category()。

enum QChar::Decomposition

此枚举类型定义了 Unicode 分解属性。有关这些值的描述,请参阅Unicode 标准。

常量值
QChar::NoDecomposition0
QChar::Canonical1
QChar::Circle8
QChar::Compat16
QChar::Final6
QChar::Font2
QChar::Fraction17
QChar::Initial4
QChar::Isolated7
QChar::Medial5
QChar::Narrow13
QChar::NoBreak3
QChar::Small14
QChar::Square15
QChar::Sub10
QChar::Super9
QChar::Vertical11
QChar::Wide12

另请参阅 decomposition()。

enum QChar::Direction

此枚举类型定义了 Unicode 方向属性。有关这些值的说明,请参阅《Unicode 标准》。

为了符合 C/C++ 命名约定,在 Unicode 标准中使用的代码前添加了前缀“Dir”。

常量值
QChar::DirAL13
QChar::DirAN5
QChar::DirB7
QChar::DirBN18
QChar::DirCS6
QChar::DirEN2
QChar::DirES3
QChar::DirET4
QChar::DirFSI (since Qt 5.3)21
QChar::DirL0
QChar::DirLRE11
QChar::DirLRI (since Qt 5.3)19
QChar::DirLRO12
QChar::DirNSM17
QChar::DirON10
QChar::DirPDF16
QChar::DirPDI (since Qt 5.3)22
QChar::DirR1
QChar::DirRLE14
QChar::DirRLI (since Qt 5.3)20
QChar::DirRLO15
QChar::DirS8
QChar::DirWS9

另请参阅 direction()。

enum QChar::JoiningType

自 5.3 起

此枚举类型定义了 Unicode 连接类型属性。有关这些值的说明,请参阅Unicode 标准。

为了符合 C/C++ 命名约定,在 Unicode 标准中使用的代码前添加了前缀“Joining_”。

常量值
QChar::Joining_None0
QChar::Joining_Causing1
QChar::Joining_Dual2
QChar::Joining_Right3
QChar::Joining_Left4
QChar::Joining_Transparent5

另请参阅 joiningType()。

enum QChar::Script

此枚举类型定义了 Unicode 脚本属性值。

有关 Unicode 脚本属性值的详细信息,请参阅《Unicode 标准》附录 #24。

为了符合 C/C++ 命名约定,在 Unicode 标准中使用的代码前添加了前缀“Script_”。

常量值描述
QChar::Script_Unknown0用于未分配、私有、非字符和代理码点。
QChar::Script_Inherited1适用于可与多种脚本一起使用且从前一个字符继承其脚本的字符。这些字符包括非间距标记、包围标记以及零宽度连接符/非连接符。
QChar::Script_Common2适用于可能用于多种书写系统且不从前一个字符继承其书写系统的字符。
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_Arabic8 
QChar::Script_Armenian6 
QChar::Script_Avestan80 
QChar::Script_Balinese62 
QChar::Script_Bamum84 
QChar::Script_BassaVah (since Qt 5.5)104 
QChar::Script_Batak93 
QChar::Script_Bengali12 
QChar::Script_BeriaErfe (since Qt 6.11)174 
QChar::Script_Bhaiksuki (since Qt 5.11)133 
QChar::Script_Bopomofo36 
QChar::Script_Brahmi94 
QChar::Script_Braille54 
QChar::Script_Buginese55 
QChar::Script_Buhid44 
QChar::Script_CanadianAboriginal29 
QChar::Script_Carian75 
QChar::Script_CaucasianAlbanian (since Qt 5.5)103 
QChar::Script_Chakma96 
QChar::Script_Cham77 
QChar::Script_Cherokee28 
QChar::Script_Chorasmian (since Qt 5.15)153 
QChar::Script_Coptic46 
QChar::Script_Cuneiform63 
QChar::Script_Cypriot53 
QChar::Script_CyproMinoan (since Qt 6.3)157 
QChar::Script_Cyrillic5 
QChar::Script_Deseret41 
QChar::Script_Devanagari11 
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_EgyptianHieroglyphs81 
QChar::Script_Elbasan (since Qt 5.5)106 
QChar::Script_Elymaic (since Qt 5.15)149 
QChar::Script_Ethiopic27 
QChar::Script_Garay (since Qt 6.9)164 
QChar::Script_Georgian25 
QChar::Script_Glagolitic57 
QChar::Script_Gothic40 
QChar::Script_Grantha (since Qt 5.5)107 
QChar::Script_Greek4 
QChar::Script_Gujarati14 
QChar::Script_GunjalaGondi (since Qt 5.15)143 
QChar::Script_Gurmukhi13 
QChar::Script_GurungKhema (since Qt 6.9)165 
QChar::Script_Han37 
QChar::Script_Hangul26 
QChar::Script_HanifiRohingya (since Qt 5.15)144 
QChar::Script_Hanunoo43 
QChar::Script_Hatran (since Qt 5.6)128 
QChar::Script_Hebrew7 
QChar::Script_Hiragana34 
QChar::Script_ImperialAramaic87 
QChar::Script_InscriptionalPahlavi90 
QChar::Script_InscriptionalParthian89 
QChar::Script_Javanese85 
QChar::Script_Kaithi92 
QChar::Script_Kannada18 
QChar::Script_Katakana35 
QChar::Script_Kawi (since Qt 6.5)162 
QChar::Script_KayahLi72 
QChar::Script_Kharoshthi61 
QChar::Script_KhitanSmallScript (since Qt 5.15)155 
QChar::Script_Khmer32 
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_Lao22 
QChar::Script_Latin3 
QChar::Script_Lepcha68 
QChar::Script_Limbu47 
QChar::Script_LinearA (since Qt 5.5)110 
QChar::Script_LinearB49 
QChar::Script_Lisu83 
QChar::Script_Lycian74 
QChar::Script_Lydian76 
QChar::Script_Mahajani (since Qt 5.5)111 
QChar::Script_Makasar (since Qt 5.15)145 
QChar::Script_Malayalam19 
QChar::Script_Mandaic95 
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_MeeteiMayek86 
QChar::Script_MendeKikakui (since Qt 5.5)113 
QChar::Script_MeroiticCursive97 
QChar::Script_MeroiticHieroglyphs98 
QChar::Script_Miao99 
QChar::Script_Modi (since Qt 5.5)114 
QChar::Script_Mongolian33 
QChar::Script_Mro (since Qt 5.5)115 
QChar::Script_Multani (since Qt 5.6)129 
QChar::Script_Myanmar24 
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_NewTaiLue56 
QChar::Script_Nko66 
QChar::Script_Nushu (since Qt 5.11)139 
QChar::Script_NyiakengPuachueHmong (since Qt 5.15)151 
QChar::Script_Ogham30 
QChar::Script_OlChiki69 
QChar::Script_OlOnal (since Qt 6.9)167 
QChar::Script_OldHungarian (since Qt 5.6)130 
QChar::Script_OldItalic39 
QChar::Script_OldNorthArabian (since Qt 5.5)116 
QChar::Script_OldPermic (since Qt 5.5)120 
QChar::Script_OldPersian60 
QChar::Script_OldSogdian (since Qt 5.15)147 
QChar::Script_OldSouthArabian88 
QChar::Script_OldTurkic91 
QChar::Script_OldUyghur (since Qt 6.3)158 
QChar::Script_Oriya15 
QChar::Script_Osage (since Qt 5.11)136 
QChar::Script_Osmanya52 
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_PhagsPa65 
QChar::Script_Phoenician64 
QChar::Script_PsalterPahlavi (since Qt 5.5)121 
QChar::Script_Rejang73 
QChar::Script_Runic31 
QChar::Script_Samaritan82 
QChar::Script_Saurashtra71 
QChar::Script_Sharada100 
QChar::Script_Shavian51 
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_Sinhala20 
QChar::Script_Sogdian (since Qt 5.15)148 
QChar::Script_SoraSompeng101 
QChar::Script_Soyombo (since Qt 5.11)140 
QChar::Script_Sundanese67 
QChar::Script_Sunuwar (since Qt 6.9)168 
QChar::Script_SylotiNagri59 
QChar::Script_Syriac9 
QChar::Script_Tagalog42 
QChar::Script_Tagbanwa45 
QChar::Script_TaiLe48 
QChar::Script_TaiTham78 
QChar::Script_TaiViet79 
QChar::Script_TaiYo (since Qt 6.11)172 
QChar::Script_Takri102 
QChar::Script_Tamil16 
QChar::Script_Tangut (since Qt 5.11)137 
QChar::Script_Tangsa (since Qt 6.3)159 
QChar::Script_Telugu17 
QChar::Script_Thaana10 
QChar::Script_Thai21 
QChar::Script_Tibetan23 
QChar::Script_Tifinagh58 
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_Ugaritic50 
QChar::Script_Vai70 
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_Yi38 
QChar::Script_ZanabazarSquare (since Qt 5.11)141 

另请参阅 script()。

enum QChar::SpecialCharacter

常数值描述
QChar::Null0x0000一个QChar ,其值为isNull()。
QChar::Tabulation0x0009字符制表符。
QChar::LineFeed0x000a 
QChar::FormFeed0x000c 
QChar::CarriageReturn0x000d 
QChar::Space0x0020 
QChar::Nbsp0x00a0不换行空格。
QChar::SoftHyphen0x00ad 
QChar::ReplacementCharacter0xfffd当字体中没有某个码点的字形时显示的字符。通常使用一个特殊的问号字符。当输入数据无法用 Unicode 表示时,编解码器会使用该码点。
QChar::ObjectReplacementCharacter0xfffc用于表示无法呈现的对象(如图像)。
QChar::ByteOrderMark0xfeff 
QChar::ByteOrderSwapped0xfffe 
QChar::ParagraphSeparator0x2029 
QChar::LineSeparator0x2028 
QChar::VisualTabCharacter (since Qt 6.2)0x2192用于以水平箭头表示制表符。
QChar::LastValidCodePoint0x10ffff 

enum QChar::UnicodeVersion

指定某个字符是在Unicode标准的哪个版本中引入的。

常量值描述
QChar::Unicode_1_111.1 版
QChar::Unicode_2_022.0 版
QChar::Unicode_2_1_23版本 2.1.2
QChar::Unicode_3_04版本 3.0
QChar::Unicode_3_15版本 3.1
QChar::Unicode_3_26版本 3.2
QChar::Unicode_4_07版本 4.0
QChar::Unicode_4_18版本 4.1
QChar::Unicode_5_095.0 版
QChar::Unicode_5_1105.1 版
QChar::Unicode_5_2115.2 版
QChar::Unicode_6_0126.0 版
QChar::Unicode_6_113版本 6.1
QChar::Unicode_6_214版本 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)2212.1 版
QChar::Unicode_13_0 (since Qt 5.15)2313.0 版
QChar::Unicode_14_0 (since Qt 6.3)2414.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_Unassigned0该值在 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。

另请参阅 cell() 和row()。

[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 。

另请参阅 toLatin1() 和unicode()。

[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。

这使得结果的使用变得非常简单:

QString s;
s += QChar::fromUcs4(ch);
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.