Класс 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 } |
| Перечисление | Стиль { StyleNormal, StyleItalic, StyleOblique } |
| Перечисление | СтильПодсказки { AnyStyle, SansSerif, Helvetica, Serif, Times, …, System } |
| Перечисление | СтратегияСтиля { PreferDefault, PreferBitmap, PreferDevice, PreferOutline, ForceOutline, …, ForceIntegerMetrics } |
| Перечисление | Вес { 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() |
Related Non-Members
| uint | qHash(const QFont &font, uint seed = 0) |
| QDataStream & | operator<<(QDataStream &s, const QFont &font) |
| QDataStream & | operator>>(QDataStream &s, QFont &font) |
Detailed Description
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.
Каждый QFont имеет ключ(), который вы можете использовать, например, в качестве ключа в кэше или словаре. Если вы хотите сохранить предпочтения пользователя относительно шрифта, вы можете использовать QSettings, записывая информацию о шрифте с помощью toString() и считывая её обратно с помощью fromString(). Также доступны функции operator<<() и operator>>(), но они работают с потоком данных.
Можно установить высоту символов, отображаемых на экране, до заданного количества пикселей с помощью setPixelSize(); однако, использование setPointSize() имеет аналогичный эффект и обеспечивает независимость от устройства.
Загрузка шрифтов может быть дорогостоящей, особенно в X11. QFont содержит обширные оптимизации для ускорения копирования объектов QFont и кэширования результатов медленных функций системы окон, от которых он зависит.
Алгоритм подбора шрифтов работает следующим образом:
- Проверяются указанные семейства шрифтов (установленные функцией setFamilies()).
- Если не найден, то, если указанное семейство шрифтов существует и может использоваться для представления используемой системы письма, оно будет выбрано.
- В противном случае выбирается запасной шрифт, поддерживающий систему письма. Алгоритм подбора шрифтов будет пытаться найти наилучшее соответствие для всех свойств, установленных в QFont. Способ выполнения этого различается в зависимости от платформы.
- Если в системе нет шрифта, который может поддерживать текст, будут отображены специальные пустые прямоугольники «символа отсутствует».
Примечание: Если выбранный шрифт, хотя и поддерживает систему письма в целом, отсутствуют глифы для одного или нескольких конкретных символов, Qt будет пытаться найти запасной шрифт для этого или этих символов. Эту функцию можно отключить, используя стиль стратегии QFont::NoFontMerging.
В Windows запрос шрифта «Courier» автоматически изменяется на «Courier New», улучшенную версию Courier, которая позволяет плавное масштабирование. Более старый битовый шрифт «Courier» можно выбрать, установив стратегию стиля PreferBitmap (см. setStyleStrategy()).
После нахождения шрифта остальные атрибуты сопоставляются в порядке приоритета:
- fixedPitch()
- pointSize() (см. ниже)
- weight()
- style()
Если у вас есть шрифт, который соответствует по семейству, даже если ни один из других атрибутов не совпадает, этот шрифт будет выбран в приоритете по сравнению со шрифтом, который не соответствует по семейству, но соответствует другим атрибутам. Это связано с тем, что семейство шрифтов является основным критерием поиска.
Размер шрифта считается совпадающим, если он находится в пределах 20% от запрошенного размера шрифта. Когда несколько шрифтов соответствуют и отличаются только размером шрифта, будет выбран шрифт с размером шрифта, наиболее близким к запрошенному.
Фактическое семейство, размер шрифта, вес и другие атрибуты шрифта, используемые для отображения текста, будут зависеть от доступных для выбранного семейства в системе окон. Объект QFontInfo можно использовать для определения фактических значений, используемых для отображения текста.
Примеры:
QFont f("Helvetica"); Если у вас есть и Adobe, и 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 и Пример карты символов.
Member Type Documentation
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 (с обновлением платформы) и включённый в Qt DirectWrite | Полный кернинг | Вертикальный кернинг | Вертикальный кернинг | Полный кернинг |
| 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 для поиска подходящей семейства шрифтов по умолчанию, если выбранная семейства шрифтов недоступна.
| Константа | Значение | Описание |
|---|---|---|
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, какие типы шрифтов следует использовать для поиска подходящей семейства шрифтов по умолчанию.
Доступны следующие стратегии:
| Константа | Значение | Описание |
|---|---|---|
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 |
Эта стратегия стиля устарела с Qt 5.15.0. Все шрифты по умолчанию совместимы с OpenGL. |
QFont::NoFontMerging |
0x8000 |
Если шрифт, выбранный для определенной письменности, не содержит символа, запрошенного для отрисовки, Qt автоматически выбирает похожий шрифт, который содержит этот символ. Флаг NoFontMerging отключает эту функцию. Обратите внимание, что включение этого флага не помешает Qt автоматически выбирать подходящий шрифт, когда выбранный шрифт не поддерживает письменность текста. |
QFont::PreferNoShaping |
0x1000 |
Иногда шрифт применяет сложные правила к набору символов, чтобы отобразить их правильно. В некоторых системах письма, таких как брахмические скрипты, это необходимо для того, чтобы текст был читабельным, но в, например, латинском письме, это просто косметическая функция. Флаг PreferNoShaping отключит все такие функции, когда они не нужны, что в большинстве случаев повысит производительность (с Qt 5.10). |
Любой из них может быть объединен по оператору OR с одним из этих флагов:
| Константа | Значение | Описание |
|---|---|---|
QFont::PreferMatch |
0x0020 |
предпочесть точное соответствие. Искатель шрифтов будет пытаться использовать точно заданный размер шрифта. |
QFont::PreferQuality |
0x0040 |
предпочесть шрифт наилучшего качества. Искатель шрифтов будет использовать ближайший стандартный размер точки, который поддерживает шрифт. |
QFont::ForceIntegerMetrics |
0x0400 |
Эта стратегия стиля устарела с Qt 5.15.0. Используйте QFontMetrics для получения округленных метрик шрифта. |
Перечисление 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.
После подстановки шрифта необходимо обновить шрифты, уничтожив и повторно создав все объекты QFont.
См. также insertSubstitutions(), removeSubstitutions(), substitutions(), substitute(), и substitutes().
[static] void QFont::insertSubstitutions(const QString &familyName, const QStringList &substituteNames)
Вставляет список семейств substituteNames в список подстановок для familyName.
После подстановки шрифта необходимо обновить шрифты, уничтожив и повторно создав все объекты QFont.
См. также 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().
END_OF_DOCUMENT_MARKERvoid QFont::setItalic(bool enable)
Устанавливает стиль() шрифта в QFont::StyleItalic, если enable имеет значение true; в противном случае стиль устанавливается в QFont::StyleNormal.
Примечание: Если задано значение styleName(), это значение может быть проигнорировано, или, если поддерживается на платформе, шрифт может быть наклонен вместо выбора специально сконструированного варианта шрифта italic.
См. также 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.15/qfont.html