Класс 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 является нижней частью суррогата UTF16 (например, если его код находится в диапазоне [0xdc00..0xdfff]); в противном случае возвращает false.
[static] bool QChar::isLowSurrogate(char32_t ucs4)
Это перегруженный метод.
Возвращает true если символ UCS-4, заданный параметром ucs4, является нижней частью суррогата UTF16 (например, если его код находится в диапазоне [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, может быть разделен на высокую и низкую части суррогата UTF-16 (например, если его кодовое значение больше или равно 0x10000); в противном случае возвращает false.
Примечание: До Qt 6 эта функция принимала параметр uint.
uchar QChar::row() const
Возвращает строку (старший байт) символа Unicode.
См. также cell().
[since 5.1] QChar::Script QChar::script() const
Возвращает значение свойства шрифта Unicode для данного символа.
Эта функция была добавлена в Qt 5.1.
[static, since 5.1] QChar::Script QChar::script(char32_t ucs4)
Это перегруженная функция.
Возвращает значение свойства шрифта Unicode для символа, заданного в его кодировке UCS-4 как ucs4.
Примечание: До Qt 6 эта функция принимала параметр uint.
Эта функция была добавлена в Qt 5.1.
[static] char32_t QChar::surrogateToUcs4(char16_t high, char16_t low)
Преобразует пару суррогатов UTF-16 с заданными значениями high и low в его кодовое значение UCS-4.
Примечание: До Qt 6 эта функция принимала ushort аргументов и возвращала uint.
[static] char32_t QChar::surrogateToUcs4(QChar high, QChar low)
Это перегруженная функция.
Преобразует пару суррогатов UTF-16 (high, low) в её кодовое значение UCS-4.
Примечание: До Qt 6 эта функция возвращала uint.
QChar QChar::toCaseFolded() const
Возвращает эквивалент символа с отложенным регистром. Для большинства символов Unicode это то же самое, что и toLower().
[static] char32_t QChar::toCaseFolded(char32_t ucs4)
Это перегруженная функция.
Возвращает эквивалент символа UCS-4 с отложенным регистром, заданного параметром ucs4. Для большинства символов Unicode это то же самое, что и 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
Возвращает числовое значение Unicode символа QChar.
char16_t &QChar::unicode()
Возвращает ссылку на числовое значение Unicode символа QChar.
QChar::UnicodeVersion QChar::unicodeVersion() const
Возвращает версию Unicode, в которой был введён этот символ.
[static] QChar::UnicodeVersion QChar::unicodeVersion(char32_t ucs4)
Это перегруженная функция.
Возвращает версию Unicode, в которой был введён символ, заданный в его кодировке 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.1/qchar.html