Класс 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, ..., UltraExpanded } |
| Перечисление | Style { StyleNormal, StyleItalic, StyleOblique } |
| Перечисление | StyleHint { AnyStyle, SansSerif, Helvetica, Serif, ..., System } |
| Перечисление | StyleStrategy { PreferDefault, PreferBitmap, PreferDevice, PreferOutline, ..., ForceIntegerMetrics } |
| Перечисление | Weight { Thin, ExtraLight, Light, Normal, ..., Black } |
Публичные функции
| QFont() | |
| QFont(const QString &family, int pointSize = -1, int weight = -1, bool italic = false) | |
| QFont(const QFont &font, QPaintDevice *pd) | |
| QFont(const QFont &font) | |
| ~QFont() | |
| bool | bold() const |
| QFont::Capitalization | capitalization() const |
| QString | defaultFamily() const |
| bool | exactMatch() 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 |
| QString | lastResortFamily() const |
| QString | lastResortFont() 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 | 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 |
| QFont & | operator=(const QFont &font) |
| QFont & | operator=(QFont &&other) |
| 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) |
| const QMetaObject | staticMetaObject |
| 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. Используйте QFontMetrics для получения измерений, например, длины строки в пикселях с помощью QFontMetrics::width().
Обратите внимание, что экземпляр QGuiApplication должен существовать, прежде чем шрифт QFont можно использовать. Вы можете установить шрифт по умолчанию для приложения с помощью QGuiApplication::setFont().
Если выбранный шрифт не содержит всех символов, которые необходимо отобразить, QFont попытается найти символы в ближайших эквивалентных шрифтах. Когда QPainter рисует символ из шрифта, QFont сообщит, есть ли у него этот символ; если нет, QPainter нарисует незаполненный квадрат.
Создавайте QFonts так:
QFont serifFont("Times", 10, QFont::Bold);
QFont sansFont("Helvetica [Cronyx]", 12); Атрибуты, заданные в конструкторе, также могут быть заданы позже, например, setFamily(), setPointSize(), setPointSizeF(), setWeight() и setItalic(). Остальные атрибуты должны быть заданы после создания, например, setBold(), setUnderline(), setOverline(), setStrikeOut() и setFixedPitch(). Объекты QFontInfo должны создаваться после того, как атрибуты шрифта были установлены. Объект QFontInfo не изменится, даже если вы измените атрибуты шрифта. Соответствующие функции "get", например, family(), pointSize() и т. д., возвращают значения, которые были установлены, даже если используемые значения могут отличаться. Фактические значения доступны из объекта QFontInfo.
Если запрошенный шрифт недоступен, вы можете повлиять на алгоритм подбора шрифтов, выбрав определённый QFont::StyleHint и QFont::StyleStrategy с помощью setStyleHint(). Шрифт по умолчанию (соответствующий текущему параметру стиля) возвращается функцией defaultFamily().
Алгоритм подбора шрифтов имеет lastResortFamily() и lastResortFont() в случаях, когда подходящее соответствие не может быть найдено. Вы можете предоставить подстановки для имён семейств шрифтов с помощью insertSubstitution() и insertSubstitutions(). Подстановки можно удалить с помощью removeSubstitutions(). Используйте substitute() для получения первого заменителя семьи или имени семьи, если у неё нет замен. Используйте substitutes() для получения списка замен семьи (который может быть пустым).
Каждый QFont имеет key(), который вы можете использовать, например, в качестве ключа в кэше или словаре. Если вы хотите сохранить предпочтения пользователя относительно шрифта, вы можете использовать QSettings, записывая информацию о шрифте с помощью toString() и читая её обратно с помощью fromString(). Также доступны функции operator<<() и operator>>(), но они работают с потоком данных.
Можно установить высоту отображаемых символов на экране до определённого количества пикселей с помощью setPixelSize(); однако, использование setPointSize() имеет аналогичный эффект и обеспечивает независимость от устройства.
Загрузка шрифтов может быть дорогостоящей, особенно на X11. QFont содержит обширные оптимизации, чтобы сделать копирование объектов QFont быстрым и кэшировать результаты медленных функций системы окон, от которых он зависит.
Алгоритм подбора шрифтов работает следующим образом:
- Ищется указанное семейство шрифтов.
- Если не найдено, используется styleHint() для выбора замещающего семейства.
- Ищется каждое замещающее семейство шрифтов.
- Если ни один из них не найден или не было styleHint(), будет осуществляться поиск "helvetica".
- Если "helvetica" не найден, Qt будет искать lastResortFamily().
- Если lastResortFamily() не найден, Qt будет искать lastResortFont(), который всегда вернёт какое-то имя.
Обратите внимание, что фактический алгоритм подбора шрифтов зависит от платформы.
В 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 и Пример карты символов.
Документация типов членов
enum QFont::Capitalization
Параметр отрисовки текста, к которому применяется этот шрифт.
| Константа | Значение | Описание |
|---|---|---|
QFont::MixedCase |
0 |
Это обычный параметр отрисовки текста, когда никакое изменение капитализации не применяется. |
QFont::AllUppercase |
1 |
Это изменяет текст, чтобы он отображался в верхнем регистре. |
QFont::AllLowercase |
2 |
Это изменяет текст, чтобы он отображался в нижнем регистре. |
QFont::SmallCaps |
3 |
Это изменяет текст, чтобы он отображался в формате "small caps". |
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 |
вынуждает использование целочисленных значений в шрифтовых движках, которые поддерживают дробные метрики шрифтов. |
enum 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()
Создаёт объект шрифта, использующий шрифт по умолчанию приложения.
См. также QGuiApplication::setFont() и QGuiApplication::font().
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(const QFont &font, QPaintDevice *pd)
Создаёт шрифт на основе font для использования на устройстве рисования pd.
QFont::QFont(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.
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.
QString QFont::lastResortFamily() const
Возвращает имя семейства шрифтов по умолчанию.
Текущая реализация пытается найти широкий спектр распространённых шрифтов, возвращая первый найденный. Возможно, не будет найдено ни одного семейства, в этом случае возвращается пустая строка.
См. также lastResortFont().
QString QFont::lastResortFont() const
Возвращает имя "резервного" шрифта для алгоритма сопоставления шрифтов. Используется, если семейство шрифтов по умолчанию недоступно. Всегда возвращает имя, при необходимости возвращая что-то вроде "fixed" или "system".
Текущая реализация пытается найти широкий спектр распространённых шрифтов, возвращая первый найденный. Реализация может измениться в любое время, но эта функция всегда будет возвращать строку, содержащую что-то.
Теоретически возможно, что lastResortFont() действительно отсутствует, в этом случае Qt прервётся с сообщением об ошибке. Мы не смогли обнаружить случай, когда это происходит. Пожалуйста, сообщите об ошибке, если это происходит, желательно с перечнем установленных шрифтов.
См. также lastResortFamily().
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::setFamily(const QString &family)
Устанавливает имя семейства шрифта. Имя нечувствительно к регистру и может содержать имя типографической мастерской.
Имя family может необязательно содержать также имя типографической мастерской, например, "Helvetica [Cronyx]". Если family доступен от более чем одной типографической мастерской и имя мастерской не указано, произвольно выбирается одна мастерская. Если семейство недоступно, семейство будет установлено с помощью алгоритма подбора шрифтов.
См. также 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.
См. также italic() и QFontInfo.
void QFont::setKerning(bool enable)
Включает керинг для этого шрифта, если enable равно true; в противном случае отключает его. По умолчанию керинг включён.
Когда керинг включён, метрики глифов больше не складываются, даже для латинского текста. Другими словами, предположение, что width('a') + width('b') равно width("ab"), не обязательно верно.
См. также kerning() и QFontMetrics.
END_OF_DOCUMENT_MARKERvoid 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().
QFont &QFont::operator=(const QFont &font)
Присваивает font этому шрифту и возвращает ссылку на него.
QFont &QFont::operator=(QFont &&other)
Перемещающее присваивание other этому экземпляру QFont.
Эта функция была добавлена в Qt 5.2.
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.12/qfont.html