Класс QChar
Класс QChar предоставляет 16-битный символ Unicode. Подробнее...
| Заголовок: | #include <QChar> |
| CMake: | find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
Примечание: Все функции в этом классе являются реентерабельными.
Открытые типы
| 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(uchar ch) | |
| QChar(char ch) | |
| QChar(wchar_t ch) | |
| QChar(char16_t ch) | |
| QChar(QLatin1Char ch) | |
| QChar(QChar::SpecialCharacter ch) | |
| QChar(int code) | |
| QChar(uint code) | |
| QChar(short code) | |
| QChar(uchar cell, uchar row) | |
| QChar(ushort code) | |
| QChar() | |
| 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) |
| QChar | fromUcs2(char16_t c) |
| 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) |
Макросы
| QT_IMPLICIT_QCHAR_CONSTRUCTION |
Подробное описание
В Qt, символы Юникода — это 16-битные сущности без каких-либо пометок или структуры. Этот класс представляет собой такую сущность. Он лёгкий, поэтому может использоваться везде. Большинство компиляторов обрабатывают его как unsigned short.
QChar предоставляет полный набор функций проверки/классификации, преобразования в и из других форматов, преобразования от составленных к разложенным символам Юникода и попытки сравнения и преобразования регистров, если вы об этом попросите.
Функции классификации включают функции, аналогичные функциям в стандартном заголовке C++ <cctype> (ранее <ctype.h>), но работающие с полным диапазоном символов Юникода, а не только с диапазоном ASCII. Все они возвращают true, если символ относится к определённому типу; в противном случае возвращают false. Эти функции классификации включают isNull() (возвращает true если символ равен '\0'), isPrint() (true, если символ — любой печатаемый символ, включая пробелы), isPunct() (любой символ пунктуации), isMark() (метка Юникода), isLetter() (буква), isNumber() (любой числовой символ, а не только 0-9), isLetterOrNumber() и isDigit() (десятичные цифры). Все эти функции являются обёртками вокруг category(), которые возвращают категорию, определённую Юникодом, для каждого символа. Некоторые из них также вычисляют производные свойства (например, isSpace() возвращает true если символ относится к категории Separator_* или является исключительным кодом из категории Other_Control).
QChar также предоставляет direction(), которая указывает «естественное» направление письма для этого символа. Функция joiningType() указывает, как символ соединяется со своими соседями (это необходимо в основном для арабского или сирийского) и, наконец, hasMirrored(), которая указывает, нужно ли отображать символ зеркально, когда он печатается в «неестественном» направлении письма.
Комбинированные символы Юникода (например, ring) можно преобразовать в разложенные символы Юникода ("a" за которым следует "ring above"), используя разложение().
В Юникоде сравнение не всегда возможно, а преобразование регистра — в лучшем случае очень сложно. Юникода, охватывающая «весь» мир, также включает в себя большинство проблем с регистром и сортировкой в мире. оператор==() и его аналоги будут выполнять сравнение, основываясь исключительно на числовом значении Юникода (кодовом точке) символов, а toUpper() и toLower() будут выполнять преобразование регистра, когда у символа есть хорошо определённый эквивалент верхнего/нижнего регистра. Для сравнений, зависящих от региональных настроек, используйте QString::localeAwareCompare().
Функции преобразования включают unicode() (в скаляр), toLatin1() (в скаляр, но преобразует все символы, не являющиеся Latin-1, в 0), row() (возвращает строку Юникода), cell() (возвращает ячейку Юникода), digitValue() (возвращает целочисленное значение любого из многочисленных символов цифр) и множество конструкторов.
QChar предоставляет конструкторы и операторы приведения типов, которые упрощают преобразование в традиционные 8-битные char и обратно. Если вы определили QT_NO_CAST_FROM_ASCII и QT_NO_CAST_TO_ASCII, как описано в документации QString, вам необходимо явно вызвать fromLatin1() или использовать QLatin1Char для создания QChar из 8-битного char, а также вызвать toLatin1() для получения 8-битного значения обратно.
Начиная с Qt 6.0, большинство конструкторов QChar explicit. Это делается для предотвращения опасных ошибок при случайном смешивании целочисленных типов и строк. Вы можете отказаться от этого (и сделать эти конструкторы неявными), определив макрос QT_IMPLICIT_QCHAR_CONSTRUCTION.
Дополнительную информацию см. в "Базе данных символов Юникода".
См. также Юникод, QString и QLatin1Char.
Документация по типам членов
enum QChar::Category
Этот перечисление сопоставляет категории символов Юникода.
В Юникоде следующие символы являются нормативными:
| Постоянная | Значение | Описание |
|---|---|---|
QChar::Mark_NonSpacing |
0 |
Имя класса Юникода Mn |
QChar::Mark_SpacingCombining |
1 |
Имя класса Юникода Mc |
QChar::Mark_Enclosing |
2 |
Имя класса Юникода Me |
QChar::Number_DecimalDigit |
3 |
Имя класса Юникода Nd |
QChar::Number_Letter |
4 |
Имя класса Юникода Nl |
QChar::Number_Other |
5 |
Имя класса Юникода No |
QChar::Separator_Space |
6 |
Имя класса Юникода Zs |
QChar::Separator_Line |
7 |
Имя класса Юникода Zl |
QChar::Separator_Paragraph |
8 |
Имя класса Юникода Zp |
QChar::Other_Control |
9 |
Имя класса Юникода Cc |
QChar::Other_Format |
10 |
Имя класса Юникода Cf |
QChar::Other_Surrogate |
11 |
Имя класса Юникода Cs |
QChar::Other_PrivateUse |
12 |
Имя класса Юникода Co |
QChar::Other_NotAssigned |
13 |
Имя класса Юникода Cn |
Следующие категории являются информативными в Юникоде:
| Постоянная | Значение | Описание |
|---|---|---|
QChar::Letter_Uppercase |
14 |
Имя класса Юникода Lu |
QChar::Letter_Lowercase |
15 |
Имя класса Юникода Ll |
QChar::Letter_Titlecase |
16 |
Имя класса Юникода Lt |
QChar::Letter_Modifier |
17 |
Имя класса Юникода Lm |
QChar::Letter_Other |
18 |
Имя класса Юникода Lo |
QChar::Punctuation_Connector |
19 |
Имя класса Юникода Pc |
QChar::Punctuation_Dash |
20 |
Имя класса Юникода Pd |
QChar::Punctuation_Open |
21 |
Имя класса Юникода Ps |
QChar::Punctuation_Close |
22 |
Имя класса Юникода Pe |
QChar::Punctuation_InitialQuote |
23 |
Имя класса Юникода Pi |
QChar::Punctuation_FinalQuote |
24 |
Имя класса Юникода Pf |
QChar::Punctuation_Other |
25 |
Имя класса Юникода Po |
QChar::Symbol_Math |
26 |
Имя класса Юникода Sm |
QChar::Symbol_Currency |
27 |
Имя класса Юникода Sc |
QChar::Symbol_Modifier |
28 |
Имя класса Юникода Sk |
QChar::Symbol_Other |
29 |
Имя класса Юникода So |
См. также category().
enum QChar::Decomposition
Этот тип перечисления определяет атрибуты разложения Юникода. См. Стандарт Юникода для описания значений.
| Постоянная | Значение |
|---|---|
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
Этот тип перечисления определяет атрибуты направления Юникода. См. Стандарт Юникода для описания значений.
Для соответствия соглашениям об именах C/C++, к кодам, используемым в Стандарте Юникода, добавляется префикс "Dir".
END_OF_DOCUMENT_MARKER| Константа | Значение | Описание |
|---|---|---|
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 |
21 |
С Qt 5.3 |
QChar::DirL |
0 |
|
QChar::DirLRE |
11 |
|
QChar::DirLRI |
19 |
С Qt 5.3 |
QChar::DirLRO |
12 |
|
QChar::DirNSM |
17 |
|
QChar::DirON |
10 |
|
QChar::DirPDF |
16 |
|
QChar::DirPDI |
22 |
С Qt 5.3 |
QChar::DirR |
1 |
|
QChar::DirRLE |
14 |
|
QChar::DirRLI |
20 |
С Qt 5.3 |
QChar::DirRLO |
15 |
|
QChar::DirS |
8 |
|
QChar::DirWS |
9 |
См. также direction().
перечисление QChar::JoiningType
с 5.3
Это перечисление определяет атрибуты типа слияния Юникода. Для описания значений обратитесь к стандарту Юникода.
Для соответствия соглашениям о наименовании C/C++ к кодам, используемым в стандарте Юникода, добавлено "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().
[since 5.1] перечисление QChar::Script
Это перечисление определяет значения свойств скрипта Юникода.
Подробную информацию о значениях свойства скрипта Юникода см. в приложении к стандарту Юникода №24.
Для соответствия соглашениям о наименовании C/C++ к кодам, используемым в стандарте Юникода, добавлено "Script_".
| Константа | Значение | Описание |
|---|---|---|
QChar::Script_Unknown |
0 |
Для неназначенных, служебных, несимвольных и суррогатных кодовых точек. |
QChar::Script_Inherited |
1 |
Для символов, которые могут использоваться с несколькими письменностями и наследуют свою письменность от предыдущих символов. К ним относятся знаки без пробела, ограничительные знаки и символы объединения/разъединения нулевой ширины. |
QChar::Script_Common |
2 |
Для символов, которые могут использоваться с несколькими письменностями и не наследуют свою письменность от предыдущих символов. |
QChar::Script_Adlam |
132 |
С Qt 5.11 |
QChar::Script_Ahom |
126 |
С Qt 5.6 |
QChar::Script_AnatolianHieroglyphs |
127 |
С Qt 5.6 |
QChar::Script_Arabic |
8 |
|
QChar::Script_Armenian |
6 |
|
QChar::Script_Avestan |
80 |
|
QChar::Script_Balinese |
62 |
|
QChar::Script_Bamum |
84 |
|
QChar::Script_BassaVah |
104 |
С Qt 5.5 |
QChar::Script_Batak |
93 |
|
QChar::Script_Bengali |
12 |
|
QChar::Script_Bhaiksuki |
133 |
С Qt 5.11 |
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 |
103 |
С Qt 5.5 |
QChar::Script_Chakma |
96 |
|
QChar::Script_Cham |
77 |
|
QChar::Script_Cherokee |
28 |
|
QChar::Script_Chorasmian |
153 |
С Qt 5.15 |
QChar::Script_Coptic |
46 |
|
QChar::Script_Cuneiform |
63 |
|
QChar::Script_Cypriot |
53 |
|
QChar::Script_Cyrillic |
5 |
|
QChar::Script_Deseret |
41 |
|
QChar::Script_Devanagari |
11 |
|
QChar::Script_DivesAkuru |
154 |
С Qt 5.15 |
QChar::Script_Dogra |
142 |
С Qt 5.15 |
QChar::Script_Duployan |
105 |
С Qt 5.5 |
QChar::Script_EgyptianHieroglyphs |
81 |
|
QChar::Script_Elbasan |
106 |
С Qt 5.5 |
QChar::Script_Elymaic |
149 |
С Qt 5.15 |
QChar::Script_Ethiopic |
27 |
|
QChar::Script_Georgian |
25 |
|
QChar::Script_Glagolitic |
57 |
|
QChar::Script_Gothic |
40 |
|
QChar::Script_Grantha |
107 |
С Qt 5.5 |
QChar::Script_Greek |
4 |
|
QChar::Script_Gujarati |
14 |
|
QChar::Script_GunjalaGondi |
143 |
С Qt 5.15 |
QChar::Script_Gurmukhi |
13 |
|
QChar::Script_Han |
37 |
|
QChar::Script_Hangul |
26 |
|
QChar::Script_HanifiRohingya |
144 |
С Qt 5.15 |
QChar::Script_Hanunoo |
43 |
|
QChar::Script_Hatran |
128 |
С Qt 5.6 |
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_KayahLi |
72 |
|
QChar::Script_Kharoshthi |
61 |
|
QChar::Script_KhitanSmallScript |
155 |
С Qt 5.15 |
QChar::Script_Khmer |
32 |
|
QChar::Script_Khojki |
109 |
С Qt 5.5 |
QChar::Script_Khudawadi |
123 |
С Qt 5.5 |
QChar::Script_Lao |
22 |
|
QChar::Script_Latin |
3 |
|
QChar::Script_Lepcha |
68 |
|
QChar::Script_Limbu |
47 |
|
QChar::Script_LinearA |
110 |
С Qt 5.5 |
QChar::Script_LinearB |
49 |
|
QChar::Script_Lisu |
83 |
|
QChar::Script_Lycian |
74 |
|
QChar::Script_Lydian |
76 |
|
QChar::Script_Mahajani |
111 |
С Qt 5.5 |
QChar::Script_Makasar |
145 |
С Qt 5.15 |
QChar::Script_Malayalam |
19 |
|
QChar::Script_Mandaic |
95 |
|
QChar::Script_Manichaean |
112 |
С Qt 5.5 |
QChar::Script_Marchen |
134 |
С Qt 5.11 |
QChar::Script_MasaramGondi |
138 |
С Qt 5.11 |
QChar::Script_Medefaidrin |
146 |
С Qt 5.15 |
QChar::Script_MeeteiMayek |
86 |
|
QChar::Script_MendeKikakui |
113 |
С Qt 5.5 |
QChar::Script_MeroiticCursive |
97 |
|
QChar::Script_MeroiticHieroglyphs |
98 |
|
QChar::Script_Miao |
99 |
|
QChar::Script_Modi |
114 |
С Qt 5.5 |
QChar::Script_Mongolian |
33 |
|
QChar::Script_Mro |
115 |
С Qt 5.5 |
QChar::Script_Multani |
129 |
С Qt 5.6 |
QChar::Script_Myanmar |
24 |
|
QChar::Script_Nabataean |
117 |
С Qt 5.5 |
QChar::Script_Nandinagari |
150 |
С Qt 5.15 |
QChar::Script_Newa |
135 |
С Qt 5.11 |
QChar::Script_NewTaiLue |
56 |
|
QChar::Script_Nko |
66 |
|
QChar::Script_Nushu |
139 |
С Qt 5.11 |
QChar::Script_NyiakengPuachueHmong |
151 |
С Qt 5.15 |
QChar::Script_Ogham |
30 |
|
QChar::Script_OlChiki |
69 |
|
QChar::Script_OldHungarian |
130 |
С Qt 5.6 |
QChar::Script_OldItalic |
39 |
|
QChar::Script_OldNorthArabian |
116 |
С Qt 5.5 |
QChar::Script_OldPermic |
120 |
С Qt 5.5 |
QChar::Script_OldPersian |
60 |
|
QChar::Script_OldSogdian |
147 |
С Qt 5.15 |
QChar::Script_OldSouthArabian |
88 |
|
QChar::Script_OldTurkic |
91 |
|
QChar::Script_Oriya |
15 |
|
QChar::Script_Osage |
136 |
С Qt 5.11 |
QChar::Script_Osmanya |
52 |
|
QChar::Script_PahawhHmong |
108 |
С Qt 5.5 |
QChar::Script_Palmyrene |
118 |
С Qt 5.5 |
QChar::Script_PauCinHau |
119 |
С Qt 5.5 |
QChar::Script_PhagsPa |
65 |
|
QChar::Script_Phoenician |
64 |
|
QChar::Script_PsalterPahlavi |
121 |
С Qt 5.5 |
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 |
122 |
С Qt 5.5 |
QChar::Script_SignWriting |
131 |
С Qt 5.6 |
QChar::Script_Sinhala |
20 |
|
QChar::Script_Sogdian |
148 |
С Qt 5.15 |
QChar::Script_SoraSompeng |
101 |
|
QChar::Script_Soyombo |
140 |
С Qt 5.11 |
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 |
137 |
С Qt 5.11 |
QChar::Script_Telugu |
17 |
|
QChar::Script_Thaana |
10 |
|
QChar::Script_Thai |
21 |
|
QChar::Script_Tibetan |
23 |
|
QChar::Script_Tifinagh |
58 |
QChar::Script_Tirhuta |
124 |
С Qt 5.5 |
QChar::Script_Ugaritic |
50 |
|
QChar::Script_Vai |
70 |
|
QChar::Script_Wancho |
152 |
С Qt 5.15 |
QChar::Script_WarangCiti |
125 |
С Qt 5.5 |
QChar::Script_Yezidi |
156 |
С Qt 5.15 |
QChar::Script_Yi |
38 |
|
QChar::Script_ZanabazarSquare |
141 |
С Qt 5.11 |
Этот перечисление был введён или изменён в Qt 5.1.
См. также 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::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 |
См. также unicodeVersion() и currentUnicodeVersion().
Документация функций-членов
QChar::QChar(uchar ch)
Создаёт QChar, соответствующий символу ASCII/Latin-1 ch.
Примечание: Этот конструктор недоступен, когда QT_NO_CAST_FROM_ASCII или QT_RESTRICTED_CAST_FROM_ASCII определены.
См. также QT_NO_CAST_FROM_ASCII и QT_RESTRICTED_CAST_FROM_ASCII.
QChar::QChar(char ch)
Создаёт QChar, соответствующий символу ASCII/Latin-1 ch.
Примечание: Этот конструктор недоступен, когда QT_NO_CAST_FROM_ASCII определён.
См. также QT_NO_CAST_FROM_ASCII.
[since 5.10] QChar::QChar(wchar_t ch)
Создаёт QChar, соответствующий широкому символу ch.
Примечание: Этот конструктор доступен только на Windows.
Эта функция была добавлена в Qt 5.10.
[since 5.10] QChar::QChar(char16_t ch)
Создаёт QChar, соответствующий UTF-16 символу ch.
Эта функция была добавлена в Qt 5.10.
QChar::QChar(QLatin1Char ch)
Создаёт QChar, соответствующий символу ASCII/Latin-1 ch.
QChar::QChar(QChar::SpecialCharacter ch)
Создаёт QChar для предопределённого значения символа ch.
QChar::QChar(int code)
Создаёт QChar для символа с кодом Unicode code.
QChar::QChar(uint code)
Создаёт QChar для символа с кодом Unicode code.
QChar::QChar(short code)
Создаёт QChar для символа с кодом Unicode code.
QChar::QChar(uchar cell, uchar row)
Создаёт QChar для ячейки Unicode cell в строке row.
END_OF_DOCUMENT_MARKERQChar::QChar(ushort code)
Создаёт QChar для символа с кодом Юникода code.
QChar::QChar()
Создаёт пустой QChar ('\0').
См. также isNull().
QChar::Category QChar::category() const
Возвращает категорию символа.
[static] QChar::Category QChar::category(char32_t ucs4)
Это перегруженный метод.
Возвращает категорию символа UCS-4, заданного ucs4.
Примечание: До Qt 6 этот метод принимал uint аргумент.
uchar QChar::cell() const
Возвращает ячейку (самый младший байт) символа Юникода.
См. также row().
unsigned char QChar::combiningClass() const
Возвращает класс объединения для символа, как определено в стандарте Юникод. Это в основном используется в качестве подсказки для позиционирования знаков, прикреплённых к базовому символу.
Движок Qt для рендеринга текста использует эту информацию для правильного позиционирования знаков без пробелов вокруг базового символа.
[static] unsigned char QChar::combiningClass(char32_t ucs4)
Это перегруженный метод.
Возвращает класс объединения для символа UCS-4, заданного ucs4, как определено в стандарте Юникод.
Примечание: До Qt 6 этот метод принимал uint аргумент.
[static] QChar::UnicodeVersion QChar::currentUnicodeVersion()
Возвращает последнюю поддерживаемую версию Юникода.
QString QChar::decomposition() const
Разлагает символ на составляющие части. Возвращает пустую строку, если разложение не существует.
[static] QString QChar::decomposition(char32_t ucs4)
Это перегруженный метод.
Разлагает символ UCS-4, заданный ucs4, на составляющие части. Возвращает пустую строку, если разложение не существует.
Примечание: До Qt 6 этот метод принимал uint аргумент.
QChar::Decomposition QChar::decompositionTag() const
Возвращает тег, определяющий состав символа. Возвращает QChar::NoDecomposition, если разложение не существует.
[static] QChar::Decomposition QChar::decompositionTag(char32_t ucs4)
Это перегруженный метод.
Возвращает тег, определяющий состав символа UCS-4, заданного ucs4. Возвращает QChar::NoDecomposition, если разложение не существует.
Примечание: До Qt 6 этот метод принимал uint аргумент.
int QChar::digitValue() const
Возвращает числовое значение цифры или -1, если символ не является цифрой.
[static] int QChar::digitValue(char32_t ucs4)
Это перегруженный метод.
Возвращает числовое значение цифры, указанной символом UCS-4, ucs4, или -1, если символ не является цифрой.
Примечание: До Qt 6 этот метод принимал uint аргумент.
QChar::Direction QChar::direction() const
Возвращает направление символа.
[static] QChar::Direction QChar::direction(char32_t ucs4)
Это перегруженный метод.
Возвращает направление символа UCS-4, заданного ucs4.
Примечание: До Qt 6 этот метод принимал uint аргумент.
[static] QChar QChar::fromLatin1(char c)
Преобразует символ Latin-1 c в эквивалентный QChar. Это полезно в основном для программного обеспечения без международной поддержки.
Альтернативой является использование QLatin1Char.
См. также toLatin1() и unicode().
[static, since 6.0] QChar QChar::fromUcs2(char16_t c)
Создаёт QChar из символа UTF-16 c.
Этот метод был представлен в Qt 6.0.
См. также fromUcs4().
[static, since 6.0] R QChar::fromUcs4(char32_t c)
Возвращает анонимную структуру, которая
- содержит массив
char16_t chars[2], - может быть неявным образом преобразована в QStringView, и
- может быть перебрана с помощью цикла диапазона C++11.
Если 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().
bool QChar::hasMirrored() const
Возвращает true, если символ должен быть перевернут при изменении направления текста; в противном случае возвращает false.
Эквивалент (ch.mirroredChar() != ch) с немного большей скоростью.
См. также mirroredChar().
[static, since 5.0] bool QChar::hasMirrored(char32_t ucs4)
Это перегруженный метод.
Возвращает true, если символ UCS-4, указанный ucs4, должен быть перевернут при изменении направления текста; в противном случае возвращает false.
Эквивалент (QChar::mirroredChar(ucs4) != ucs4) с немного большей скоростью.
Примечание: До Qt 6 этот метод принимал uint аргумент.
Этот метод был представлен в Qt 5.0.
См. также mirroredChar().
[static] char16_t QChar::highSurrogate(char32_t ucs4)
Возвращает верхнюю часть суррогата символа UCS-4. Результат не определён, если ucs4 меньше 0x10000.
Примечание: До Qt 6 этот метод принимал uint аргумент и возвращал ushort.
bool QChar::isDigit() const
Возвращает true если символ является десятичной цифрой (Number_DecimalDigit); в противном случае возвращает false.
См. также isNumber().
[static, since 5.0] bool QChar::isDigit(char32_t ucs4)
Это перегруженный метод.
Возвращает true если символ UCS-4, указанный ucs4, является десятичной цифрой (Number_DecimalDigit); в противном случае возвращает false.
Примечание: До Qt 6 этот метод принимал uint аргумент.
Этот метод был представлен в Qt 5.0.
См. также isNumber().
bool QChar::isHighSurrogate() const
Возвращает true если QChar является верхней частью суррогата UTF16 (например, если его код находится в диапазоне [0xd800..0xdbff]); в противном случае возвращает false.
[static] bool QChar::isHighSurrogate(char32_t ucs4)
Это перегруженный метод.
Возвращает true если символ UCS-4, заданный ucs4, является верхней частью суррогата UTF16 (например, если его код находится в диапазоне [0xd800..0xdbff]); в противном случае возвращает false.
Примечание: До Qt 6 этот метод принимал uint аргумент.
bool QChar::isLetter() const
Возвращает true если символ является буквой (категории Letter_*); в противном случае возвращает false.
[static, since 5.0] bool QChar::isLetter(char32_t ucs4)
Это перегруженный метод.
Возвращает true если символ UCS-4, заданный ucs4, является буквой (категории Letter_*); в противном случае возвращает false.
Примечание: До Qt 6 этот метод принимал uint аргумент.
Этот метод был представлен в Qt 5.0.
bool QChar::isLetterOrNumber() const
Возвращает true если символ является буквой или цифрой (категории Letter_* или Number_*); в противном случае возвращает false.
[static, since 5.0] bool QChar::isLetterOrNumber(char32_t ucs4)
Это перегруженный метод.
Возвращает true если символ UCS-4, заданный параметром ucs4, является буквой или цифрой (категории Letter_* или Number_*); в противном случае возвращает false.
Примечание: До Qt 6 этот метод принимал параметр uint.
Этот метод был добавлен в Qt 5.0.
bool QChar::isLowSurrogate() const
Возвращает true если QChar является нижней частью суррогата UTF-16 (например, если его код находится в диапазоне [0xdc00..0xdfff]); в противном случае возвращает false.
[static] bool QChar::isLowSurrogate(char32_t ucs4)
Это перегруженный метод.
Возвращает true если символ UCS-4, заданный параметром ucs4, является нижней частью суррогата UTF-16 (например, если его код находится в диапазоне [0xdc00..0xdfff]); в противном случае возвращает false.
Примечание: До Qt 6 этот метод принимал параметр uint.
bool QChar::isLower() const
Возвращает true если символ является строчной буквой, например, category() равняется Letter_Lowercase.
См. также isUpper(), toLower() и toUpper().
[static, since 5.0] bool QChar::isLower(char32_t ucs4)
Это перегруженный метод.
Возвращает true если символ UCS-4, заданный параметром ucs4, является строчной буквой, например, category() равняется Letter_Lowercase.
Примечание: До Qt 6 этот метод принимал параметр uint.
Этот метод был добавлен в Qt 5.0.
См. также isUpper(), toLower() и toUpper().
bool QChar::isMark() const
Возвращает true если символ является знаком (категории Mark_*); в противном случае возвращает false.
См. QChar::Category для получения дополнительной информации о знаках.
[static, since 5.0] bool QChar::isMark(char32_t ucs4)
Это перегруженный метод.
Возвращает true если символ UCS-4, заданный параметром ucs4, является знаком (категории Mark_*); в противном случае возвращает false.
Примечание: До Qt 6 этот метод принимал параметр uint.
Этот метод был добавлен в Qt 5.0.
[since 5.0] bool QChar::isNonCharacter() const
Возвращает true если QChar является несимволом; в противном случае false.
В Unicode есть определённое количество кодовых точек, которые классифицируются как «несимволы»: их можно использовать во внутренних целях в приложениях, но нельзя использовать для обмена текстом. К ним относятся последние две записи в каждом Unicode-плане ([0xfffe..0xffff], [0x1fffe..0x1ffff] и т. д.), а также записи в диапазоне [0xfdd0..0xfdef].
Этот метод был добавлен в Qt 5.0.
[static, since 5.0] bool QChar::isNonCharacter(char32_t ucs4)
Это перегруженный метод.
Возвращает true если символ UCS-4, заданный параметром ucs4, является несимволом; в противном случае false.
В Unicode есть определённое количество кодовых точек, которые классифицируются как «несимволы»: их можно использовать во внутренних целях в приложениях, но нельзя использовать для обмена текстом. К ним относятся последние две записи в каждом Unicode-плане ([0xfffe..0xffff], [0x1fffe..0x1ffff] и т. д.), а также записи в диапазоне [0xfdd0..0xfdef].
Примечание: До Qt 6 этот метод принимал параметр uint.
Этот метод был добавлен в Qt 5.0.
bool QChar::isNull() const
Возвращает true если символ является Unicode-символом 0x0000 ('\0'); в противном случае возвращает false.
bool QChar::isNumber() const
Возвращает true если символ является числом (категории Number_*, а не только 0-9); в противном случае возвращает false.
См. также isDigit().
[static, since 5.0] bool QChar::isNumber(char32_t ucs4)
Это перегруженный метод.
Возвращает true если символ UCS-4, заданный параметром ucs4, является числом (категории Number_*, а не только 0-9); в противном случае возвращает false.
Примечание: До Qt 6 этот метод принимал параметр uint.
Этот метод был добавлен в Qt 5.0.
См. также isDigit().
bool QChar::isPrint() const
Возвращает true если символ является печатным; в противном случае возвращает false . Это любой символ, не относящийся к категории Other_*.
Обратите внимание, что это не указывает на то, доступен ли символ в конкретном шрифте.
[static, since 5.0] bool QChar::isPrint(char32_t ucs4)
Это перегруженный метод.
Возвращает true если символ UCS-4, заданный параметром ucs4, является печатным; в противном случае возвращает false . Это любой символ, не относящийся к категории Other_*.
Обратите внимание, что это не указывает на то, доступен ли символ в конкретном шрифте.
Примечание: До Qt 6 этот метод принимал параметр uint.
Этот метод был добавлен в Qt 5.0.
bool QChar::isPunct() const
Возвращает true если символ является знаком препинания (категории Punctuation_*); в противном случае возвращает false.
[static, since 5.0] bool QChar::isPunct(char32_t ucs4)
Это перегруженный метод.
Возвращает true если символ UCS-4, заданный параметром ucs4, является знаком препинания (категории Punctuation_*); в противном случае возвращает false.
Примечание: До Qt 6 этот метод принимал параметр uint.
Этот метод был добавлен в Qt 5.0.
bool QChar::isSpace() const
Возвращает true если символ является разделителем (категории Separator_* или определённые кодовые точки из категории Other_Control); в противном случае возвращает false.
[static, since 5.0] bool QChar::isSpace(char32_t ucs4)
Это перегруженный метод.
Возвращает true если символ UCS-4, заданный параметром ucs4, является разделителем (категории Separator_* или определённые кодовые точки из категории Other_Control); в противном случае возвращает false.
Примечание: До Qt 6 этот метод принимал параметр uint.
Этот метод был добавлен в Qt 5.0.
[since 5.0] bool QChar::isSurrogate() const
Возвращает true если QChar содержит кодовую точку, которая находится либо в верхней, либо в нижней части диапазона суррогатов UTF-16 (например, если её кодовая точка находится в диапазоне [0xd800..0xdfff]); в противном случае возвращает false.
Этот метод был добавлен в Qt 5.0.
[static, since 5.0] bool QChar::isSurrogate(char32_t ucs4)
Это перегруженный метод.
Возвращает true если символ UCS-4, заданный параметром ucs4, содержит кодовую точку, которая находится либо в верхней, либо в нижней части диапазона суррогатов UTF-16 (например, если её кодовая точка находится в диапазоне [0xd800..0xdfff]); в противном случае возвращает false.
Примечание: До Qt 6 этот метод принимал параметр uint.
Этот метод был добавлен в Qt 5.0.
bool QChar::isSymbol() const
Возвращает true если символ является символом (категории Symbol_*); в противном случае возвращает false.
[static, since 5.0] bool QChar::isSymbol(char32_t ucs4)
Это перегруженный метод.
Возвращает true если символ UCS-4, заданный параметром ucs4, является символом (категории Symbol_*); в противном случае возвращает false.
Примечание: До Qt 6 этот метод принимал параметр uint.
Этот метод был добавлен в Qt 5.0.
bool QChar::isTitleCase() const
Возвращает true если символ является заглавной буквой, например, category() равняется Letter_Titlecase.
См. также isLower(), toUpper(), toLower() и toTitleCase().
[static, since 5.0] bool QChar::isTitleCase(char32_t ucs4)
Это перегруженный метод.
Возвращает true, если символ, закодированный в UCS-4, указанный параметром ucs4, является буквой в верхнем регистре, например, category() возвращает Letter_Titlecase.
Примечание: До Qt 6 этот метод принимал uint аргумент.
Этот метод был добавлен в Qt 5.0.
См. также isLower(), toUpper(), toLower() и toTitleCase().
bool QChar::isUpper() const
Возвращает true, если символ является заглавной буквой, например, category() возвращает Letter_Uppercase.
См. также isLower(), toUpper() и toLower().
[static, since 5.0] bool QChar::isUpper(char32_t ucs4)
Это перегруженный метод.
Возвращает true, если символ, закодированный в UCS-4, указанный параметром ucs4, является заглавной буквой, например, category() возвращает Letter_Uppercase.
Примечание: До Qt 6 этот метод принимал uint аргумент.
Этот метод был добавлен в Qt 5.0.
См. также isLower(), toUpper() и toLower().
[since 5.3] QChar::JoiningType QChar::joiningType() const
Возвращает информацию о типах соединения символа (необходима для некоторых языков, таких как арабский или сирийский).
Этот метод был добавлен в Qt 5.3.
[static, since 5.3] QChar::JoiningType QChar::joiningType(char32_t ucs4)
Это перегруженный метод.
Возвращает информацию о типах соединения символа, закодированного в UCS-4, указанного параметром ucs4 (необходима для некоторых языков, таких как арабский или сирийский).
Примечание: До Qt 6 этот метод принимал uint аргумент.
Этот метод был добавлен в Qt 5.3.
[static] char16_t QChar::lowSurrogate(char32_t ucs4)
Возвращает низкий суррогат символа, закодированного в UCS-4. Результат неопределён, если ucs4 меньше 0x10000.
Примечание: До Qt 6 этот метод принимал uint аргумент и возвращал ushort.
QChar QChar::mirroredChar() const
Возвращает зеркальный символ, если текущий символ является зеркальным; в противном случае возвращает сам символ.
См. также hasMirrored().
[static] char32_t QChar::mirroredChar(char32_t ucs4)
Это перегруженный метод.
Возвращает зеркальный символ, если символ, закодированный в UCS-4, указанный параметром ucs4, является зеркальным; в противном случае возвращает сам символ.
Примечание: До Qt 6 этот метод принимал uint аргумент и возвращал uint.
См. также hasMirrored().
[static] bool QChar::requiresSurrogates(char32_t ucs4)
Возвращает true, если символ, закодированный в UCS-4, указанный параметром ucs4, может быть разделен на высокую и низкую части суррогата UTF16 (например, если его код больше или равен 0x10000); в противном случае возвращает false.
Примечание: До Qt 6 этот метод принимал uint аргумент.
uchar QChar::row() const
Возвращает строку (самый значимый байт) символа Юникода.
См. также cell().
[since 5.1] QChar::Script QChar::script() const
Возвращает значение свойства скрипта Юникода для этого символа.
Этот метод был добавлен в Qt 5.1.
[static, since 5.1] QChar::Script QChar::script(char32_t ucs4)
Это перегруженный метод.
Возвращает значение свойства скрипта Юникода для символа, указанного в кодировке UCS-4 как ucs4.
Примечание: До Qt 6 этот метод принимал uint аргумент.
Этот метод был добавлен в Qt 5.1.
[static] char32_t QChar::surrogateToUcs4(char16_t high, char16_t low)
Преобразует пару суррогатов UTF16 с заданными значениями high и low в его код точки UCS-4.
Примечание: До Qt 6 этот метод принимал ushort аргументов и возвращал uint.
[static] char32_t QChar::surrogateToUcs4(QChar high, QChar low)
Это перегруженный метод.
Преобразует пару суррогатов UTF16 (high, low) в его код точки UCS-4.
Примечание: До Qt 6 этот метод возвращал uint.
QChar QChar::toCaseFolded() const
Возвращает эквивалент символа в сложенном формате, учитывая регистр. Для большинства символов Юникода это то же самое, что и toLower().
[static] char32_t QChar::toCaseFolded(char32_t ucs4)
Это перегруженный метод.
Возвращает эквивалент символа в сложенном формате, учитывая регистр, для символа UCS-4, указанного параметром ucs4. Для большинства символов Юникода это то же самое, что и toLower().
Примечание: До Qt 6 этот метод принимал uint аргумент и возвращал uint.
char QChar::toLatin1() const
Возвращает эквивалент символа в кодировке Latin-1 для текущего QChar, или 0. Это полезно в основном для программного обеспечения, не использующего международные стандарты.
Примечание: Невозможно отличить не-Latin-1 символ от Latin-1 0 (NUL). Используйте unicode(), который не имеет этой неоднозначности.
См. также unicode().
QChar QChar::toLower() const
Возвращает строчный эквивалент, если символ является заглавным или прописным; в противном случае возвращает сам символ.
[static] char32_t QChar::toLower(char32_t ucs4)
Это перегруженный метод.
Возвращает строчный эквивалент символа UCS-4, указанного параметром ucs4, если символ является заглавным или прописным; в противном случае возвращает сам символ.
Примечание: До Qt 6 этот метод принимал uint аргумент и возвращал uint.
QChar QChar::toTitleCase() const
Возвращает эквивалент символа в формате заглавной буквы, если символ является строчным или прописным; в противном случае возвращает сам символ.
[static] char32_t QChar::toTitleCase(char32_t ucs4)
Это перегруженный метод.
Возвращает эквивалент символа в формате заглавной буквы для символа UCS-4, указанного параметром ucs4, если символ является строчным или прописным; в противном случае возвращает сам символ.
Примечание: До Qt 6 этот метод принимал uint аргумент и возвращал uint.
QChar QChar::toUpper() const
Возвращает заглавный эквивалент, если символ является строчным или прописным; в противном случае возвращает сам символ.
[static] char32_t QChar::toUpper(char32_t ucs4)
Это перегруженный метод.
Возвращает заглавный эквивалент символа UCS-4, указанного параметром ucs4, если символ является строчным или прописным; в противном случае возвращает сам символ.
Примечание: До Qt 6 этот метод принимал uint аргумент и возвращал uint.
char16_t QChar::unicode() const
Возвращает числовое значение Юникода QChar.
char16_t &QChar::unicode()
Возвращает ссылку на числовое значение Юникода QChar.
QChar::UnicodeVersion QChar::unicodeVersion() const
Возвращает версию Юникода, в которой был представлен этот символ.
[static] QChar::UnicodeVersion QChar::unicodeVersion(char32_t ucs4)
Это перегруженный метод.
Возвращает версию Юникода, в которой был представлен символ, указанный в кодировке UCS-4 как ucs4.
Примечание: До Qt 6 этот метод принимал uint аргумент.
Связанные нечлены
bool operator!=(QChar c1, QChar c2)
Возвращает true, если c1 и c2 не являются одним и тем же символом Юникода; в противном случае возвращает false.
bool operator<(QChar c1, QChar c2)
Возвращает true, если числовое значение Юникода c1 меньше, чем c2; в противном случае возвращает false.
QDataStream &operator<<(QDataStream &out, QChar chr)
Записывает символ chr в поток out.
См. также Сериализация типов данных Qt.
bool operator<=(QChar c1, QChar c2)
Возвращает true, если числовое значение Юникода c1 меньше или равно c2; в противном случае возвращает false.
bool operator==(QChar c1, QChar c2)
Возвращает true, если c1 и c2 — один и тот же символ Юникода; в противном случае возвращает false.
bool operator>(QChar c1, QChar c2)
Возвращает true, если числовое значение Юникода c1 больше, чем c2; в противном случае возвращает false.
bool operator>=(QChar c1, QChar c2)
Возвращает true, если числовое значение Юникода c1 больше или равно c2; в противном случае возвращает 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.
См. также QLatin1Char, QChar::fromUcs4 и QT_NO_CAST_FROM_ASCII.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qchar.html