Класс 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) |
| 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. Используйте 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(); Для получения более общей информации о шрифтах обратитесь к comp.fonts FAQ. Информацию о кодировках можно найти на странице Романа Чиборры.
См. также QFontMetrics, QFontInfo, QFontDatabase и Character Map Example.
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 (с обновлением платформы) и DirectWrite, включённый в Qt | Полные подсказки | Вертикальные подсказки | Вертикальные подсказки | Полные подсказки |
| FreeType | Настройка операционной системы | Без подсказок | Вертикальные подсказки (лёгкие) | Полные подсказки |
| Cocoa на macOS | Без подсказок | Без подсказок | Без подсказок | Без подсказок |
Примечание: Обратите внимание, что изменение предпочтения подсказок в Windows доступно через движок шрифтов DirectWrite. Это доступно в Windows Vista после установки обновления платформы и в Windows 7. Для использования этого расширения настройте Qt с помощью -directwrite. Затем целевое приложение будет зависеть от доступности DirectWrite на целевой системе.
Это перечисление было введено или изменено в Qt 4.8.
перечисление QFont::SpacingType
| Константа | Значение | Описание |
|---|---|---|
QFont::PercentageSpacing |
0 |
Значение 100 сохранит интервалы без изменений; значение 200 увеличит интервалы после символа на ширину самого символа. |
QFont::AbsoluteSpacing |
1 |
Положительное значение увеличивает интервалы между буквами на соответствующее количество пикселей; отрицательное значение уменьшает интервалы. |
Это перечисление было введено или изменено в Qt 4.4.
перечисление 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().
перечисление QFont::Style
Это перечисление описывает различные стили глифов, используемые для отображения текста.
| Константа | Значение | Описание |
|---|---|---|
QFont::StyleNormal |
0 |
Обычные глифы, используемые в неоформленном тексте. |
QFont::StyleItalic |
1 |
Курсивные глифы, специально разработанные для отображения курсивного текста. |
QFont::StyleOblique |
2 |
Глифы с курсивным видом, которые обычно основаны на неоформленных глифах, но не доработаны для отображения курсивного текста. |
См. также Weight.
перечисление 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 |
Алгоритм сопоставления шрифтов отдаёт предпочтение системным шрифтам. |
перечисление 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(), 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.
END_OF_DOCUMENT_MARKER ```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().
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/archives/qt-5.11/qfont.html