Класс QFont
Класс QFont задает запрос на шрифт, используемый для вывода текста. Подробнее...
| Заголовок: | #include <QFont> |
| qmake: | QT += gui |
Примечание: Все функции в этом классе являются внутрипоточными.
Типы публичного интерфейса
| Перечисление | Capitalization { MixedCase, AllUppercase, AllLowercase, SmallCaps, Capitalize } |
| Перечисление | HintingPreference { PreferDefaultHinting, PreferNoHinting, PreferVerticalHinting, PreferFullHinting } |
| Перечисление | SpacingType { PercentageSpacing, AbsoluteSpacing } |
| Перечисление | Stretch { AnyStretch, UltraCondensed, ExtraCondensed, Condensed, SemiCondensed, …, UltraExpanded } |
| Перечисление | Style { StyleNormal, StyleItalic, StyleOblique } |
| Перечисление | StyleHint { AnyStyle, SansSerif, Helvetica, Serif, Times, …, System } |
| Перечисление | StyleStrategy { PreferDefault, PreferBitmap, PreferDevice, PreferOutline, ForceOutline, …, ForceIntegerMetrics } |
| Перечисление | Weight { Thin, ExtraLight, Light, Normal, Medium, …, Black } |
Публичные функции
| QFont(const QFont &font) | |
| QFont(const QFont &font, const QPaintDevice *pd) | |
| QFont(const QString &family, int pointSize = -1, int weight = -1, bool italic = false) | |
| QFont() | |
| QFont & | operator=(QFont &&other) |
| QFont & | operator=(const QFont &font) |
| ~QFont() | |
| bool | bold() const |
| QFont::Capitalization | capitalization() const |
| QString | defaultFamily() const |
| bool | exactMatch() const |
| QStringList | families() const |
| QString | family() const |
| bool | fixedPitch() const |
| bool | fromString(const QString &descrip) |
| QFont::HintingPreference | hintingPreference() const |
| bool | isCopyOf(const QFont &f) const |
| bool | italic() const |
| bool | kerning() const |
| QString | key() const |
| qreal | letterSpacing() const |
| QFont::SpacingType | letterSpacingType() const |
| bool | overline() const |
| int | pixelSize() const |
| int | pointSize() const |
| qreal | pointSizeF() const |
| QFont | resolve(const QFont &other) const |
| void | setBold(bool enable) |
| void | setCapitalization(QFont::Capitalization caps) |
| void | setFamilies(const QStringList &families) |
| void | setFamily(const QString &family) |
| void | setFixedPitch(bool enable) |
| void | setHintingPreference(QFont::HintingPreference hintingPreference) |
| void | setItalic(bool enable) |
| void | setKerning(bool enable) |
| void | setLetterSpacing(QFont::SpacingType type, qreal spacing) |
| void | setOverline(bool enable) |
| void | setPixelSize(int pixelSize) |
| void | setPointSize(int pointSize) |
| void | setPointSizeF(qreal pointSize) |
| void | setStretch(int factor) |
| void | setStrikeOut(bool enable) |
| void | setStyle(QFont::Style style) |
| void | setStyleHint(QFont::StyleHint hint, QFont::StyleStrategy strategy = PreferDefault) |
| void | setStyleName(const QString &styleName) |
| void | setStyleStrategy(QFont::StyleStrategy s) |
| void | setUnderline(bool enable) |
| void | setWeight(int weight) |
| void | setWordSpacing(qreal spacing) |
| int | stretch() const |
| bool | strikeOut() const |
| QFont::Style | style() const |
| QFont::StyleHint | styleHint() const |
| QString | styleName() const |
| QFont::StyleStrategy | styleStrategy() const |
| void | swap(QFont &other) |
| QString | toString() const |
| bool | underline() const |
| int | weight() const |
| qreal | wordSpacing() const |
| QVariant | operator QVariant() const |
| bool | operator!=(const QFont &f) const |
| bool | operator<(const QFont &f) const |
| bool | operator==(const QFont &f) const |
Статические общедоступные члены
| void | insertSubstitution(const QString &familyName, const QString &substituteName) |
| void | insertSubstitutions(const QString &familyName, const QStringList &substituteNames) |
| void | removeSubstitutions(const QString &familyName) |
| QString | substitute(const QString &familyName) |
| QStringList | substitutes(const QString &familyName) |
| QStringList | substitutions() |
Связанные нечлены
| uint | qHash(const QFont &font, uint seed = 0) |
| QDataStream & | operator<<(QDataStream &s, const QFont &font) |
| QDataStream & | operator>>(QDataStream &s, QFont &font) |
Подробное описание
QFont можно рассматривать как запрос на один или несколько шрифтов в системе.
При создании объекта QFont вы указываете различные атрибуты, которые должен иметь шрифт. Qt будет использовать шрифт с указанными атрибутами, или, если подходящий шрифт не найден, Qt будет использовать наиболее соответствующий установленный шрифт. Атрибуты фактически используемого шрифта доступны из объекта QFontInfo. Если система окон предоставляет точное соответствие, exactMatch() возвращает true. Используйте QFontMetricsF для получения измерений, например, длины строки в пикселях с помощью QFontMetrics::width().
Атрибуты, которые не установлены явно, не влияют на алгоритм выбора шрифта, и вместо них будут использоваться значения по умолчанию.
Для загрузки конкретного физического шрифта, обычно представленного одним файлом, используйте QRawFont вместо этого.
Обратите внимание, что экземпляр QGuiApplication должен существовать перед использованием QFont. Вы можете установить шрифт по умолчанию для приложения с помощью QGuiApplication::setFont().
Если выбранный шрифт не содержит всех символов, которые нужно отобразить, QFont попытается найти эти символы в ближайших эквивалентных шрифтах. Когда QPainter рисует символ из шрифта, QFont сообщает, есть ли у него этот символ; если нет, QPainter нарисует незаполненный квадрат.
Создавайте QFont так:
QFont serifFont("Times", 10, QFont::Bold);
QFont sansFont("Helvetica [Cronyx]", 12); Атрибуты, установленные в конструкторе, также можно установить позже, например, setFamily(), setPointSize(), setPointSizeF(), setWeight() и setItalic(). Остальные атрибуты необходимо установить после создания, например, setBold(), setUnderline(), setOverline(), setStrikeOut() и setFixedPitch(). Объекты QFontInfo должны создаваться после установки атрибутов шрифта. Объект QFontInfo не будет изменяться, даже если вы измените атрибуты шрифта. Соответствующие функции «получения», например, family(), pointSize() и т. д., возвращают значения, которые были установлены, даже если используемые значения могут отличаться. Фактические значения доступны из объекта QFontInfo.
Если запрошенный шрифт недоступен, вы можете повлиять на алгоритм подбора шрифтов, выбрав определенный QFont::StyleHint и QFont::StyleStrategy с помощью setStyleHint(). Шрифт по умолчанию (соответствующий текущему подсказке стиля) возвращается функцией defaultFamily().
Вы можете предоставить подстановки для имён шрифтов с помощью insertSubstitution() и insertSubstitutions(). Подстановки можно удалить с помощью removeSubstitutions(). Используйте substitute(), чтобы получить первый заменитель семейства шрифтов или само имя семейства, если у него нет замен. Используйте substitutes(), чтобы получить список замен семейства шрифтов (который может быть пустым).
Каждый QFont имеет ключ(), который можно использовать, например, в качестве ключа в кэше или словаре. Если вы хотите сохранить предпочтения пользователя относительно шрифта, вы можете использовать QSettings, записывая информацию о шрифте с помощью toString() и считывая её обратно с помощью fromString(). Также доступны функции operator<<() и operator>>(), но они работают с потоком данных.
Можно установить высоту символов, отображаемых на экране, до заданного количества пикселей с помощью setPixelSize(); однако, использование setPointSize() оказывает подобное действие и обеспечивает независимость от устройства.
Загрузка шрифтов может быть дорогостоящей, особенно в X11. QFont содержит расширенные оптимизации для ускорения копирования объектов QFont и кэширования результатов медленных функций системы окон, на которые он полагается.
Алгоритм подбора шрифтов работает следующим образом:
- Проверяются указанные семейства шрифтов (установленные с помощью setFamilies()).
- Если не найдены, то, если указанное семейство шрифтов существует и может использоваться для представления используемой системы письма, оно будет выбрано.
- Если нет, выбирается резервный шрифт, который поддерживает систему письма. Алгоритм подбора шрифтов постарается найти наилучшее соответствие для всех свойств, установленных в QFont. Способ реализации этого алгоритма зависит от платформы.
- Если в системе нет шрифта, который может поддерживать текст, вместо него будут отображаться специальные блоки "отсутствующих символов".
Примечание: Если выбранный шрифт, хотя и поддерживает систему письма в целом, не содержит глифов для одного или нескольких конкретных символов, Qt попытается найти резервный шрифт для этого или этих символов. Эту функцию можно отключить, используя стиль стратегии QFont::NoFontMerging.
В Windows запрос на шрифт "Courier" автоматически изменяется на "Courier New", улучшенную версию Courier, которая позволяет плавное масштабирование. Более старый шрифт "Courier" в формате bitmap можно выбрать, установив стратегию стиля PreferBitmap (см. setStyleStrategy()).
После того, как шрифт найден, остальные атрибуты сопоставляются в порядке приоритета:
- fixedPitch()
- pointSize() (см. ниже)
- weight()
- style()
Если у вас есть шрифт, который соответствует семейству, даже если ни один из других атрибутов не соответствует, этот шрифт будет выбран в приоритете перед шрифтом, который не соответствует семейству, но соответствует другим атрибутам. Это связано с тем, что семейство шрифтов является основным критерием поиска.
Размер шрифта определяется как совпадающий, если он находится в пределах 20% от запрошенного размера шрифта. Когда несколько шрифтов совпадают и различаются только размером, будет выбран шрифт с размером, наиболее близким к запрошенному.
Фактическое семейство, размер шрифта, вес и другие атрибуты шрифта, используемые для отображения текста, будут зависеть от того, что доступно для выбранного семейства в системе окон. Объект QFontInfo можно использовать для определения фактических значений, используемых для отображения текста.
Примеры:
QFont f("Helvetica"); Если у вас есть и Adobe Helvetica, и Cronyx Helvetica, вы можете получить любой из них.
QFont f("Helvetica [Cronyx]"); Вы можете указать производитель, который вы хотите, в имени семейства. Шрифт f в приведенном выше примере будет установлен как "Helvetica [Cronyx]".
Чтобы определить атрибуты шрифта, фактически используемого в системе окон, используйте объект QFontInfo, например:
QFontInfo info(f1); QString family = info.family();
Для поиска метрик шрифта используйте объект QFontMetrics, например:
QFontMetrics fm(f1);
int textWidthInPixels = fm.horizontalAdvance("How many pixels wide is this text?");
int textHeightInPixels = fm.height(); Дополнительную информацию о шрифтах см. в FAQ comp.fonts. Информацию об кодировках можно найти на странице Романа Чиборры.
См. также QFontMetrics, QFontInfo, QFontDatabase и Пример диалога выбора символов.
Документация по типам членов
enum QFont::Capitalization
Параметр рендеринга текста, к которому применяется этот шрифт.
| Постоянная | Значение | Описание |
|---|---|---|
QFont::MixedCase |
0 |
Это нормальный параметр рендеринга текста, где не применяется изменение регистров. |
QFont::AllUppercase |
1 |
Это изменяет текст на все заглавные буквы. |
QFont::AllLowercase |
2 |
Это изменяет текст на все строчные буквы. |
QFont::SmallCaps |
3 |
Это изменяет текст на полужирный шрифт. |
QFont::Capitalize |
4 |
Это изменяет текст, делая первую букву каждого слова заглавной. |
Этот перечисление был введён или изменён в Qt 4.4.
enum QFont::HintingPreference
Этот перечисление описывает различные уровни подсказок, которые могут быть применены к глифам для улучшения читабельности на дисплеях, где это может быть оправдано плотностью пикселей.
| Постоянная | Значение | Описание |
|---|---|---|
QFont::PreferDefaultHinting |
0 |
Использовать уровень подсказок по умолчанию для целевой платформы. |
QFont::PreferNoHinting |
1 |
Если возможно, отображать текст без подсказок контуров глифов. Макет текста будет типографически точным и масштабируемым, используя те же метрики, что используются, например, при печати. |
QFont::PreferVerticalHinting |
2 |
Если возможно, отображать текст без горизонтальных подсказок, но выравнивать глифы к пиксельной сетке по вертикали. Текст будет выглядеть более чётко на дисплеях, где плотность недостаточна для точного отображения глифов. Но поскольку горизонтальные метрики глифов не подразумевают подсказки, макет текста будет масштабируемым для устройств с высокой плотностью (например, принтеров), не затрагивая такие детали, как разрывы строк. |
QFont::PreferFullHinting |
3 |
Если возможно, отображать текст с подсказками как по горизонтали, так и по вертикали. Текст будет изменён для оптимизации читабельности на целевом устройстве, но поскольку метрики будут зависеть от целевого размера текста, позиции глифов, разрывы строк и другие типографические детали не будут масштабироваться, что означает, что макет текста может выглядеть по-разному на устройствах с различной плотностью пикселей. |
Обратите внимание, что это перечисление описывает только предпочтение, так как весь диапазон уровней подсказок не поддерживается на всех платформах Qt. В следующей таблице подробно описано влияние данного предпочтения подсказок на выбранный набор целевых платформ.
| PreferDefaultHinting | PreferNoHinting | PreferVerticalHinting | PreferFullHinting | |
|---|---|---|---|---|
| Windows Vista (без обновления платформы) и более ранние версии | Полные подсказки | Полные подсказки | Полные подсказки | Полные подсказки |
| Windows 7 и Windows Vista (с обновлением платформы) и включённый DirectWrite в Qt | Полные подсказки | Вертикальные подсказки | Вертикальные подсказки | Полные подсказки |
| FreeType | Настройка операционной системы | Без подсказок | Вертикальные подсказки (лёгкие) | Полные подсказки |
| Cocoa на macOS | Без подсказок | Без подсказок | Без подсказок | Без подсказок |
Примечание: Обратите внимание, что изменение предпочтений подсказок в Windows доступно через движок шрифтов DirectWrite. Он доступен в Windows Vista после установки обновления платформы и в Windows 7. Для использования этого расширения настройте Qt с помощью -directwrite. Затем целевое приложение будет зависеть от наличия DirectWrite на целевой системе.
Это перечисление было введено или изменено в Qt 4.8.
enum QFont::SpacingType
| Постоянная | Значение | Описание |
|---|---|---|
QFont::PercentageSpacing |
0 |
Значение 100 сохранит интервалы без изменений; значение 200 увеличит интервалы после символа на ширину самого символа. |
QFont::AbsoluteSpacing |
1 |
Положительное значение увеличивает интервалы между буквами на соответствующее количество пикселей; отрицательное значение уменьшает интервалы. |
Это перечисление было введено или изменено в Qt 4.4.
enum QFont::Stretch
Предопределённые значения начертания, которые следуют соглашению об именовании CSS. Чем выше значение, тем более растянутый текст.
| Постоянная | Значение | Описание |
|---|---|---|
QFont::AnyStretch |
0 |
0 Принимает любое начертание, соответствующее другим свойствам QFont (добавлено в Qt 5.8) |
QFont::UltraCondensed |
50 |
50 |
QFont::ExtraCondensed |
62 |
62 |
QFont::Condensed |
75 |
75 |
QFont::SemiCondensed |
87 |
87 |
QFont::Unstretched |
100 |
100 |
QFont::SemiExpanded |
112 |
112 |
QFont::Expanded |
125 |
125 |
QFont::ExtraExpanded |
150 |
150 |
QFont::UltraExpanded |
200 |
200 |
См. также setStretch() и stretch().
enum QFont::Style
Это перечисление описывает различные стили глифов, используемых для отображения текста.
| Постоянная | Значение | Описание |
|---|---|---|
QFont::StyleNormal |
0 |
Обычные глифы, используемые в нестилизованном тексте. |
QFont::StyleItalic |
1 |
Курсивные глифы, специально разработанные для представления курсивного текста. |
QFont::StyleOblique |
2 |
Глифы с курсивным видом, которые обычно основаны на нестилизованных глифах, но не настроены для представления курсивного текста. |
См. также Weight.
enum QFont::StyleHint
Подсказки стиля используются алгоритмом сопоставления шрифтов для поиска подходящей семейства по умолчанию, если выбранная семейство шрифтов недоступна.
| Постоянная | Значение | Описание |
|---|---|---|
QFont::AnyStyle |
5 |
оставляет алгоритм сопоставления шрифтов для выбора семейства. Это значение по умолчанию. |
QFont::SansSerif |
Helvetica |
алгоритм сопоставления шрифтов отдаёт предпочтение шрифтам без засечек. |
QFont::Helvetica |
0 |
является синонимом для SansSerif. |
QFont::Serif |
Times |
алгоритм сопоставления шрифтов отдаёт предпочтение шрифтам с засечками. |
QFont::Times |
1 |
является синонимом для Serif. |
QFont::TypeWriter |
Courier |
алгоритм сопоставления шрифтов отдаёт предпочтение шрифтам с фиксированным шагом. |
QFont::Courier |
2 |
синоним для TypeWriter. |
QFont::OldEnglish |
3 |
алгоритм сопоставления шрифтов отдаёт предпочтение декоративным шрифтам. |
QFont::Decorative |
OldEnglish |
является синонимом для OldEnglish. |
QFont::Monospace |
7 |
алгоритм сопоставления шрифтов отдаёт предпочтение шрифтам, которые соответствуют CSS-обобщённой семейства шрифтов 'monospace'. |
QFont::Fantasy |
8 |
алгоритм сопоставления шрифтов отдаёт предпочтение шрифтам, которые соответствуют CSS-обобщённой семейства шрифтов 'fantasy'. |
QFont::Cursive |
6 |
алгоритм сопоставления шрифтов отдаёт предпочтение шрифтам, которые соответствуют CSS-обобщённой семейства шрифтов 'cursive'. |
QFont::System |
4 |
алгоритм сопоставления шрифтов отдаёт предпочтение системным шрифтам. |
enum QFont::StyleStrategy
Стратегия стиля сообщает алгоритму сопоставления шрифтов какие типы шрифтов должны быть использованы для поиска подходящей семейства по умолчанию.
Доступны следующие стратегии:
| Константа | Значение | Описание |
|---|---|---|
QFont::PreferDefault |
0x0001 |
по умолчанию стратегия стилей. Не отдаёт предпочтения никакому типу шрифтов. |
QFont::PreferBitmap |
0x0002 |
отдаёт предпочтение растровым шрифтам (по сравнению с контурными). |
QFont::PreferDevice |
0x0004 |
отдаёт предпочтение шрифтам устройства. |
QFont::PreferOutline |
0x0008 |
отдаёт предпочтение контурным шрифтам (по сравнению с растровыми). |
QFont::ForceOutline |
0x0010 |
вынуждает использовать контурные шрифты. |
QFont::NoAntialias |
0x0100 |
не применять сглаживание шрифтов. |
QFont::NoSubpixelAntialias |
0x0800 |
избегать субпиксельного сглаживания шрифтов, если это возможно. |
QFont::PreferAntialias |
0x0080 |
применять сглаживание, если это возможно. |
QFont::OpenGLCompatible |
0x0200 |
вынуждает использовать шрифты, совместимые с OpenGL. |
QFont::NoFontMerging |
0x8000 |
Если шрифт, выбранный для определённой письменности, не содержит символа, запрошенного для отрисовки, Qt автоматически выбирает похожий шрифт, который содержит этот символ. Флаг NoFontMerging отключает эту функцию. Обратите внимание, что включение этого флага не предотвратит Qt от автоматического выбора подходящего шрифта, когда выбранный шрифт не поддерживает письменность текста. |
QFont::PreferNoShaping |
0x1000 |
Иногда шрифт применяет сложные правила к набору символов для их правильного отображения. В некоторых письменных системах, таких как брахмические скрипты, это необходимо для удобочитаемости текста, но в, например, латинском алфавите это просто косметическая функция. Флаг PreferNoShaping отключит все такие функции, когда они не нужны, что в большинстве случаев улучшит производительность (с Qt 5.10). |
Любой из этих флагов может быть объединён с одним из следующих:
| Константа | Значение | Описание |
|---|---|---|
QFont::PreferMatch |
0x0020 |
предпочитать точное совпадение. Подборщик шрифтов попытается использовать именно тот размер шрифта, который был указан. |
QFont::PreferQuality |
0x0040 |
предпочитать шрифт с наилучшим качеством. Подборщик шрифтов будет использовать ближайший стандартный размер шрифта, который поддерживает шрифт. |
QFont::ForceIntegerMetrics |
0x0400 |
вынуждает использовать целочисленные значения в шрифтовых движках, которые поддерживают дробные метрики шрифтов. |
Перечисление QFont::Weight
Qt использует шкалу весов от 0 до 99, подобную, но не идентичную, шкалам, используемым в Windows или CSS. Вес 0 будет тонким, а 99 — чрезвычайно жирным.
Это перечисление содержит предопределённые весы шрифтов:
| Константа | Значение | Описание |
|---|---|---|
QFont::Thin |
0 |
0 |
QFont::ExtraLight |
12 |
12 |
QFont::Light |
25 |
25 |
QFont::Normal |
50 |
50 |
QFont::Medium |
57 |
57 |
QFont::DemiBold |
63 |
63 |
QFont::Bold |
75 |
75 |
QFont::ExtraBold |
81 |
81 |
QFont::Black |
87 |
87 |
Документация функций-членов
QFont::QFont(const QFont& font)
Создаёт шрифт, являющийся копией шрифта font.
QFont::QFont(const QFont& font, const QPaintDevice* pd)
Создаёт шрифт из font для использования на устройстве отрисовки pd.
Эта функция была добавлена в Qt 5.13.
QFont::QFont(const QString& family, int pointSize = -1, int weight = -1, bool italic = false)
Создаёт объект шрифта с указанными параметрами family, pointSize, weight и italic.
Если pointSize равно нулю или отрицательному значению, размер шрифта устанавливается в системно-зависимое значение по умолчанию. Как правило, это 12 пунктов.
Имя family может также включать имя типографии, например, "Helvetica [Cronyx]". Если family доступен от нескольких типографий, а типография не указана, выбирается произвольная типография. Если шрифт недоступен, шрифт будет установлен с использованием алгоритма подбора шрифтов.
См. также Weight, setFamily(), setPointSize(), setWeight(), setItalic(), setStyleHint() и QGuiApplication::font().
QFont::QFont()
Создаёт объект шрифта, использующий шрифт приложения по умолчанию.
См. также QGuiApplication::setFont() и QGuiApplication::font().
QFont& QFont::operator=(QFont&& other)
Перемещающее присваивание other этому экземпляру QFont.
Эта функция была добавлена в Qt 5.2.
QFont& QFont::operator=(const QFont& font)
Присваивает font этому шрифту и возвращает ссылку на него.
QFont::~QFont()
Удаляет объект шрифта и освобождает все выделенные ресурсы.
bool QFont::bold() const
Возвращает true если weight() имеет значение больше, чем QFont::Medium; в противном случае возвращает false.
См. также weight(), setBold() и QFontInfo::bold().
QFont::Capitalization QFont::capitalization() const
Возвращает текущий тип капитализации шрифта.
Эта функция была добавлена в Qt 4.4.
См. также setCapitalization().
QString QFont::defaultFamily() const
Возвращает имя семейства шрифтов, соответствующее текущему стилю.
См. также StyleHint, styleHint() и setStyleHint().
bool QFont::exactMatch() const
Возвращает true если система окон имеет шрифт, точно соответствующий настройкам этого шрифта.
См. также QFontInfo.
QStringList QFont::families() const
Возвращает запрашиваемые имена семейств шрифтов, т.е. имена, заданные в последнем вызове setFamilies() или через конструктор. В противном случае возвращает пустой список.
Эта функция была добавлена в Qt 5.13.
См. также setFamily(), setFamilies(), family(), substitutes() и substitute().
QString QFont::family() const
Возвращает запрашиваемое имя семейства шрифтов, т.е. имя, заданное в конструкторе или в последнем вызове setFont().
См. также setFamily(), substitutes() и substitute().
bool QFont::fixedPitch() const
Возвращает true если фиксированный интервал был установлен; в противном случае возвращает false.
См. также setFixedPitch() и QFontInfo::fixedPitch().
bool QFont::fromString(const QString& descrip)
Устанавливает шрифт в соответствии с описанием descrip. Описание представляет собой список атрибутов шрифта, разделённых запятыми, как возвращает функция toString().
См. также toString().
QFont::HintingPreference QFont::hintingPreference() const
Возвращает текущий предпочтительный уровень сглаживания глифов, отображаемых с помощью этого шрифта.
Эта функция была добавлена в Qt 4.8.
См. также setHintingPreference().
[static] void QFont::insertSubstitution(const QString &familyName, const QString &substituteName)
Вставляет substituteName в таблицу подстановок для семейства familyName.
См. также insertSubstitutions(), removeSubstitutions(), substitutions(), substitute(), и substitutes().
[static] void QFont::insertSubstitutions(const QString &familyName, const QStringList &substituteNames)
Вставляет список семейств substituteNames в список подстановок для familyName.
См. также insertSubstitution(), removeSubstitutions(), substitutions(), и substitute().
bool QFont::isCopyOf(const QFont &f) const
Возвращает true , если этот шрифт и f являются копиями друг друга, т. е. один из них был создан как копия другого, и ни один из них не был изменён с тех пор. Это намного строже, чем равенство.
См. также operator=() и operator==().
bool QFont::italic() const
Возвращает true , если стиль (style()) шрифта не равен QFont::StyleNormal
См. также setItalic() и style().
bool QFont::kerning() const
Возвращает true , если при отрисовке текста с этим шрифтом следует использовать кернинг.
См. также setKerning().
QString QFont::key() const
Возвращает ключ шрифта, текстовое представление шрифта. Обычно используется в качестве ключа для кэша или словаря шрифтов.
См. также QMap.
qreal QFont::letterSpacing() const
Возвращает межбуквенный интервал для шрифта.
Эта функция была добавлена в Qt 4.4.
См. также setLetterSpacing(), letterSpacingType(), и setWordSpacing().
QFont::SpacingType QFont::letterSpacingType() const
Возвращает тип интервала, используемого для межбуквенного интервала.
Эта функция была добавлена в Qt 4.4.
См. также letterSpacing(), setLetterSpacing(), и setWordSpacing().
bool QFont::overline() const
Возвращает true , если задана линия надстрочного подчеркивания; в противном случае возвращает false.
См. также setOverline().
int QFont::pixelSize() const
Возвращает размер шрифта в пикселях, если он был задан с помощью setPixelSize(). Возвращает -1, если размер был задан с помощью setPointSize() или setPointSizeF().
См. также setPixelSize(), pointSize(), QFontInfo::pointSize(), и QFontInfo::pixelSize().
int QFont::pointSize() const
Возвращает размер шрифта в пунктах. Возвращает -1, если размер шрифта был задан в пикселях.
См. также setPointSize() и pointSizeF().
qreal QFont::pointSizeF() const
Возвращает размер шрифта в пунктах. Возвращает -1, если размер шрифта был задан в пикселях.
См. также pointSize(), setPointSizeF(), pixelSize(), QFontInfo::pointSize(), и QFontInfo::pixelSize().
[static] void QFont::removeSubstitutions(const QString &familyName)
Удаляет все подстановки для familyName.
Эта функция была добавлена в Qt 5.0.
См. также insertSubstitutions(), insertSubstitution(), substitutions(), и substitute().
QFont QFont::resolve(const QFont &other) const
Возвращает новый QFont, в котором атрибуты скопированы из other, которые ранее не были заданы в этом шрифте.
void QFont::setBold(bool enable)
Если enable равно true, устанавливает начертание шрифта в значение QFont::Bold; в противном случае устанавливает начертание в QFont::Normal.
Для более точного управления жирностью используйте setWeight().
Примечание: Если styleName() задано, это значение может быть проигнорировано, или, если поддерживается на платформе, шрифт искусственно сгенерирован жирным.
См. также bold() и setWeight().
void QFont::setCapitalization(QFont::Capitalization caps)
Устанавливает тип капитализации текста в этом шрифте в caps.
Капитализация шрифта отображает текст в выбранном режиме капитализации.
Эта функция была добавлена в Qt 4.4.
См. также capitalization().
void QFont::setFamilies(const QStringList &families)
Устанавливает список имён семейств шрифтов. Имена регистронезависимы и могут включать имя компании-производителя. Первое семейство в families будет установлено как основное семейство для шрифта.
Каждое имя семейства в families может необязательно также содержать имя компании-производителя, например, «Helvetica [Cronyx]». Если семейство доступно от нескольких компаний и имя компании не указано, выбирается произвольная компания. Если семейство недоступно, семейство будет установлено с помощью алгоритма подбора шрифтов.
Эта функция была добавлена в Qt 5.13.
См. также family(), families(), setFamily(), setStyleHint(), и QFontInfo.
void QFont::setFamily(const QString &family)
Устанавливает имя семейства шрифта. Имя регистронезависимое и может включать имя компании-производителя.
Имя family может необязательно также содержать имя компании-производителя, например, «Helvetica [Cronyx]». Если семейство доступно от нескольких компаний и имя компании не указано, выбирается произвольная компания. Если семейство недоступно, семейство будет установлено с помощью алгоритма подбора шрифтов.
См. также family(), setStyleHint(), и QFontInfo.
void QFont::setFixedPitch(bool enable)
Если enable равно true, устанавливает фиксированный интервал; в противном случае выключает фиксированный интервал.
См. также fixedPitch() и QFontInfo.
void QFont::setHintingPreference(QFont::HintingPreference hintingPreference)
Устанавливает предпочтение для уровня сглаживания глифов в значение hintingPreference. Это подсказка для подсистемы рендеринга шрифтов использовать определённый уровень сглаживания, и поддержка варьируется в зависимости от платформы. Дополнительные сведения см. в таблице в документации для QFont::HintingPreference.
По умолчанию предпочтение сглаживания — QFont::PreferDefaultHinting.
Эта функция была добавлена в Qt 4.8.
См. также hintingPreference().
void QFont::setItalic(bool enable)
Устанавливает стиль шрифта (style()) в QFont::StyleItalic, если enable равно true; в противном случае стиль устанавливается в QFont::StyleNormal.
Примечание: Если styleName() задано, это значение может быть проигнорировано, или, если поддерживается на платформе, шрифт может быть наклонен вместо выбора специального варианта курсива.
См. также italic() и QFontInfo.
void QFont::setKerning(bool enable)
Включает кернинг для этого шрифта, если enable имеет значение true; иначе отключает его. По умолчанию кернинг включен.
При включенном кернинге метрики глифов больше не складываются, даже для латинского текста. Другими словами, предположение, что width('a') + width('b') равно width("ab"), не обязательно верно.
См. также kerning() и QFontMetrics.
void QFont::setLetterSpacing(QFont::SpacingType type, qreal spacing)
Устанавливает интерлиньяж для шрифта в значение spacing и тип интерлиньяжа в type.
Изменение интерлиньяжа изменяет стандартный интервал между отдельными буквами в шрифте. Расстояние между буквами можно уменьшить или увеличить в процентах от ширины символа или в пикселях, в зависимости от выбранного типа интерлиньяжа.
Эта функция была добавлена в Qt 4.4.
См. также letterSpacing(), letterSpacingType() и setWordSpacing().
void QFont::setOverline(bool enable)
Если enable имеет значение true, устанавливает надстрочный знак; иначе отключает его.
См. также overline() и QFontInfo.
void QFont::setPixelSize(int pixelSize)
Устанавливает размер шрифта в pixelSize пикселей.
Использование этой функции делает шрифт зависимым от устройства. Используйте setPointSize() или setPointSizeF(), чтобы установить размер шрифта независимо от устройства.
См. также pixelSize().
void QFont::setPointSize(int pointSize)
Устанавливает размер в пунктах в значение pointSize. Размер в пунктах должен быть больше нуля.
См. также pointSize() и setPointSizeF().
void QFont::setPointSizeF(qreal pointSize)
Устанавливает размер в пунктах в значение pointSize. Размер в пунктах должен быть больше нуля. Требуемая точность может не быть достигнута на всех платформах.
См. также pointSizeF(), setPointSize() и setPixelSize().
void QFont::setStretch(int factor)
Устанавливает коэффициент растяжения для шрифта.
Коэффициент растяжения соответствует сжатой или расширенной версии шрифта или применяет преобразование растяжения, изменяющее ширину всех символов в шрифте на factor процентов. Например, установка factor в значение 150 приведет к тому, что все символы в шрифте будут в 1,5 раза (т.е. на 150%) шире. Минимальный коэффициент растяжения равен 1, а максимальный — 4000. Коэффициент растяжения по умолчанию — AnyStretch, который примет любой коэффициент растяжения и не применит никакого преобразования к шрифту.
Коэффициент растяжения применяется только к контурным шрифтам. Коэффициент растяжения игнорируется для растровых шрифтов.
Примечание: При сопоставлении шрифта с родным нестандартным коэффициентом растяжения запрос на растяжение в 100 растянет его обратно до шрифта средней ширины.
См. также stretch() и QFont::Stretch.
void QFont::setStrikeOut(bool enable)
Если enable имеет значение true, устанавливает перечеркнутый текст; иначе отключает его.
См. также strikeOut() и QFontInfo.
void QFont::setStyle(QFont::Style style)
Устанавливает стиль шрифта в значение style.
См. также style(), italic() и QFontInfo.
void QFont::setStyleHint(QFont::StyleHint hint, QFont::StyleStrategy strategy = PreferDefault)
Устанавливает подсказку стиля и стратегию соответственно в значения hint и strategy.
Если они не установлены явно, подсказка стиля будет установлена по умолчанию в AnyStyle, а стратегия стиля — в PreferDefault.
Qt не поддерживает подсказки стиля в X11, поскольку эта информация не предоставляется системным окном.
См. также StyleHint, styleHint(), StyleStrategy, styleStrategy() и QFontInfo.
void QFont::setStyleName(const QString &styleName)
Устанавливает имя стиля шрифта в значение styleName. При установке другие свойства стиля, такие как style() и weight(), будут игнорироваться при поиске шрифта, хотя они могут быть смоделированы впоследствии, если это поддерживается движком шрифтов платформы.
Из-за более низкого качества искусственно смоделированных стилей и отсутствия полной кроссплатформенной поддержки не рекомендуется использовать сопоставление по имени стиля вместе с сопоставлением по свойствам стиля.
Эта функция была добавлена в Qt 4.8.
См. также styleName().
void QFont::setStyleStrategy(QFont::StyleStrategy s)
Устанавливает стратегию стиля для шрифта в значение s.
См. также styleStrategy() и QFont::StyleStrategy.
void QFont::setUnderline(bool enable)
Если enable имеет значение true, устанавливает подчёркивание; иначе отключает его.
См. также underline() и QFontInfo.
void QFont::setWeight(int weight)
Устанавливает толщину шрифта в значение weight, используя шкалу, определённую перечислением QFont::Weight.
Примечание: Если styleName() установлено, это значение может быть проигнорировано при выборе шрифта.
См. также weight() и QFontInfo.
void QFont::setWordSpacing(qreal spacing)
Устанавливает интерлиньяж слов для шрифта в значение spacing.
Интерлиньяж слов изменяет стандартный интервал между отдельными словами. Положительное значение увеличивает интерлиньяж слов на соответствующую величину в пикселях, а отрицательное значение уменьшает межсловный интерлиньяж соответственно.
Интерлиньяж слов не будет применяться к системам письма, где отдельные слова не разделяются пробелами.
Эта функция была добавлена в Qt 4.4.
См. также wordSpacing() и setLetterSpacing().
int QFont::stretch() const
Возвращает коэффициент растяжения для шрифта.
См. также setStretch().
bool QFont::strikeOut() const
Возвращает true если перечеркнутый текст установлен; иначе возвращает false.
См. также setStrikeOut().
QFont::Style QFont::style() const
Возвращает стиль шрифта.
См. также setStyle().
QFont::StyleHint QFont::styleHint() const
Возвращает StyleHint.
Подсказка стиля влияет на алгоритм сопоставления шрифтов. См. QFont::StyleHint для списка доступных подсказок.
См. также setStyleHint(), QFont::StyleStrategy и QFontInfo::styleHint().
QString QFont::styleName() const
Возвращает запрошенное имя стиля шрифта. Это можно использовать для сопоставления шрифта с нестандартными стилями (которые нельзя нормализовать в других свойствах стиля).
Эта функция была добавлена в Qt 4.8.
См. также setStyleName(), setFamily() и setStyle().
QFont::StyleStrategy QFont::styleStrategy() const
Возвращает StyleStrategy.
Стратегия стиля влияет на алгоритм сопоставления шрифтов. См. QFont::StyleStrategy для списка доступных стратегий.
См. также setStyleStrategy(), setStyleHint() и QFont::StyleHint.
[static] QString QFont::substitute(const QString &familyName)
Возвращает первое имя семейства, которое будет использоваться всякий раз, когда указано familyName. Поиск выполняется без учёта регистра.
Если для familyName нет замены, возвращается familyName.
Чтобы получить список замещений, используйте substitutes().
См. также setFamily(), insertSubstitutions(), insertSubstitution() и removeSubstitutions().
[static] QStringList QFont::substitutes(const QString &familyName)
Возвращает список имён семейств шрифтов, которые следует использовать всякий раз, когда указано familyName. Поиск нечувствителен к регистру.
Если для familyName нет замены, возвращается пустой список.
См. также substitute(), insertSubstitutions(), insertSubstitution() и removeSubstitutions().
[static] QStringList QFont::substitutions()
Возвращает отсортированный список заменённых имён семейств шрифтов.
См. также insertSubstitution(), removeSubstitution() и substitute().
void QFont::swap(QFont &other)
Меняет местами этот экземпляр шрифта с other. Эта функция очень быстрая и никогда не завершается ошибкой.
Эта функция была введена в Qt 5.0.
QString QFont::toString() const
Возвращает описание шрифта. Описание представляет собой список атрибутов, разделённых запятыми, идеально подходящий для использования в QSettings.
См. также fromString().
bool QFont::underline() const
Возвращает true , если подчеркивание было установлено; в противном случае возвращает false.
См. также setUnderline().
int QFont::weight() const
Возвращает начертание шрифта, используя ту же шкалу, что и перечисление QFont::Weight.
См. также setWeight(), Weight и QFontInfo.
qreal QFont::wordSpacing() const
Возвращает межсловный интервал для шрифта.
Эта функция была введена в Qt 4.4.
См. также setWordSpacing() и setLetterSpacing().
QVariant QFont::operator QVariant() const
Возвращает шрифт как QVariant
bool QFont::operator!=(const QFont &f) const
Возвращает true , если этот шрифт отличается от f; в противном случае возвращает false.
Два QFont считаются разными, если их атрибуты шрифта отличаются.
См. также operator==().
bool QFont::operator<(const QFont &f) const
Предоставляет произвольное сравнение этого шрифта и шрифта f. Всё, что гарантируется, это то, что оператор возвращает false , если оба шрифта равны, и что (f1 < f2) == !(f2 < f1), если шрифты не равны.
Эта функция полезна в некоторых случаях, например, если вы хотите использовать объекты QFont в качестве ключей в QMap.
См. также operator==(), operator!=() и isCopyOf().
bool QFont::operator==(const QFont &f) const
Возвращает true , если этот шрифт равен f; в противном случае возвращает false.
Два QFont считаются равными, если их атрибуты шрифта равны.
См. также operator!=() и isCopyOf().
Связанные внеклассовые члены
uint qHash(const QFont &font, uint seed = 0)
Возвращает значение хэша для font. Если указано, seed используется для инициализации хэша.
Эта функция была введена в Qt 5.3.
QDataStream &operator<<(QDataStream &s, const QFont &font)
Записывает шрифт font в поток данных s. (toString() записывает в текстовый поток.)
См. также Формат операторов QDataStream.
QDataStream &operator>>(QDataStream &s, QFont &font)
Читает шрифт font из потока данных s. (fromString() читает из текстового потока.)
См. также Формат операторов QDataStream.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qfont.html