Spec-Zone.ru › Qt

Класс 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.

Документация по типам членов

перечисление 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().

перечисление 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().

перечисление 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_".

END_OF_DOCUMENT_MARKER
Константа Значение Описание
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
END_OF_DOCUMENT_MARKER
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().

перечисление 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 Символ, отображаемый, когда шрифт не имеет глифа для определённого кодового пункта. Часто используется специальный знак вопроса. Кодеки используют этот кодовый пункт, когда входные данные не могут быть представлены в формате Юникод.
QChar::ObjectReplacementCharacter 0xfffc Используется для представления объекта, такого как изображение, когда такие объекты не могут быть отображены.
QChar::ByteOrderMark 0xfeff
QChar::ByteOrderSwapped 0xfffe
QChar::ParagraphSeparator 0x2029
QChar::LineSeparator 0x2028
QChar::VisualTabCharacter 0x2192 Используется для представления табуляции в виде горизонтальной стрелки. С версии 6.2.
QChar::LastValidCodePoint 0x10ffff

перечисление QChar::UnicodeVersion

Указывает, какая версия стандарта Юникод представила определённый символ.

Постоянная Значение Описание
QChar::Unicode_1_1 1 Версия 1.1
QChar::Unicode_2_0 2 Версия 2.0
QChar::Unicode_2_1_2 3 Версия 2.1.2
QChar::Unicode_3_0 4 Версия 3.0
QChar::Unicode_3_1 5 Версия 3.1
QChar::Unicode_3_2 6 Версия 3.2
QChar::Unicode_4_0 7 Версия 4.0
QChar::Unicode_4_1 8 Версия 4.1
QChar::Unicode_5_0 9 Версия 5.0
QChar::Unicode_5_1 10 Версия 5.1
QChar::Unicode_5_2 11 Версия 5.2
QChar::Unicode_6_0 12 Версия 6.0
QChar::Unicode_6_1 13 Версия 6.1
QChar::Unicode_6_2 14 Версия 6.2
QChar::Unicode_6_3 15 Версия 6.3 Начиная с Qt 5.3
QChar::Unicode_7_0 16 Версия 7.0 Начиная с Qt 5.5
QChar::Unicode_8_0 17 Версия 8.0 Начиная с Qt 5.6
QChar::Unicode_9_0 18 Версия 9.0 Начиная с Qt 5.11
QChar::Unicode_10_0 19 Версия 10.0 Начиная с Qt 5.11
QChar::Unicode_11_0 20 Версия 11.0 Начиная с Qt 5.15
QChar::Unicode_12_0 21 Версия 12.0 Начиная с Qt 5.15
QChar::Unicode_12_1 22 Версия 12.1 Начиная с Qt 5.15
QChar::Unicode_13_0 23 Версия 13.0 Начиная с Qt 5.15
QChar::Unicode_Unassigned 0 Значение не присвоено ни одному символу в версии 8.0 Юникода.

См. также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.

END_OF_DOCUMENT_MARKER

[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 для ячейки Юникода cell в строке row.

См. также cell() и row().

QChar::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, может быть разделен на высокие и низкие части суррогата 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

Возвращает числовое значение 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 не являются одним и тем же символом Unicode; в противном случае возвращает false.

bool operator<(QChar c1, QChar c2)

Возвращает true если числовое значение Unicode c1 меньше, чем c2; в противном случае возвращает false.

QDataStream &operator<<(QDataStream &out, QChar chr)

Записывает символ chr в поток out.

См. также Сериализация типов данных Qt.

bool operator<=(QChar c1, QChar c2)

Возвращает true если числовое значение Unicode c1 меньше или равно c2; в противном случае возвращает false.

bool operator==(QChar c1, QChar c2)

Возвращает true если c1 и c2 представляют один и тот же символ Unicode; в противном случае возвращает false.

bool operator>(QChar c1, QChar c2)

Возвращает true если числовое значение Unicode c1 больше, чем c2; в противном случае возвращает false.

bool operator>=(QChar c1, QChar c2)

Возвращает true если числовое значение Unicode 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.2/qchar.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API