Класс QFont
Класс QFont задаёт параметры шрифта для вывода текста. Подробнее...
| Заголовок: | #include <QFont> |
| qmake: | QT += gui |
Примечание: Все функции в этом классе являются перевключёнными.
Типы public
| перечисление | Capitalization { СмешанныйРегистр, ВсеЗаглавные, ВсеСтрочные, МаленькиеПрописные, ЗаглавнаяПерваяБуква } |
| перечисление | HintingPreference { ПредпочитатьДефолтноеРастрирование, ПредпочитатьОтсутствиеРастрирования, ПредпочитатьВертикальноеРастрирование, ПредпочитатьПолноеРастрирование } |
| перечисление | SpacingType { ПробелыВПроцентах, АбсолютныеПробелы } |
| перечисление | Stretch { ЛюбойНачертание, УльтраСжатый, СверхСжатый, Сжатый, ..., УльтраРасширенный } |
| перечисление | Стиль { Нормальный, Курсивный, Наклонный } |
| перечисление | СтильПодсказка { Любой, БезСерыфов, Гельветика, ССерыфами, ..., Системный } |
| перечисление | СтратегияСтиля { ПредпочитатьДефолт, ПредпочитатьРастровый, ПредпочитатьУстройство, ПредпочитатьКонтурный, ..., ПринудительноеЦелочисленноеИзмерение } |
| перечисление | Вес { Тонкий, СверхЛегкий, Легкий, Нормальный, ..., Жирный } |
Public Functions
| 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 нарисует незаполненный квадрат.
Создавайте 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().
Вы можете предоставить замены для названий семейств шрифтов, используя insertSubstitution() и insertSubstitutions(). Замены можно удалить с помощью removeSubstitutions(). Используйте substitute() для получения первого замещающего шрифта или самого имени семейства, если у него нет замещающих шрифтов. Используйте substitutes() для получения списка замещающих шрифтов (который может быть пустым).
Каждый QFont имеет ключ key(), который вы можете использовать, например, в качестве ключа в кэше или словаре. Если вы хотите сохранить предпочтения пользователя относительно шрифтов, вы можете использовать QSettings, записывая информацию о шрифте с помощью toString() и считывая её обратно с помощью fromString(). Также доступны функции operator<<() и operator>>(), но они работают с потоком данных.
Можно установить высоту символов, отображаемых на экране, до определённого количества пикселей с помощью setPixelSize(); однако использование setPointSize() имеет похожий эффект и обеспечивает независимость от устройства.
Загрузка шрифтов может быть дорогостоящей, особенно в X11. QFont содержит обширные оптимизации, чтобы сделать копирование объектов QFont быстрым и кэшировать результаты медленных функций системы окон, от которых он зависит.
Алгоритм подбора шрифтов работает следующим образом:
- Проверяются указанные семейства шрифтов (установленные с помощью setFamilies()).
- Если не найдены, то, если указанное семейство шрифтов существует и может быть использовано для представления используемой системы письма, оно будет выбрано.
- В противном случае выбирается замещающий шрифт, поддерживающий систему письма. Алгоритм подбора шрифтов попытается найти наилучшее соответствие всем свойствам, заданным в QFont. Способ выполнения этого отличается в зависимости от платформы.
- Если в системе нет шрифта, который может поддерживать текст, вместо него будут отображаться специальные поля «отсутствующего символа».
Примечание: Если выбранный шрифт, хотя и поддерживает систему письма в целом, ему не хватает глифов для одного или нескольких конкретных символов, то Qt попытается найти резервный шрифт для этого или этих конкретных символов. Эту функцию можно отключить, используя стратегию стиля QFont::NoFontMerging.
В Windows запрос на шрифт «Courier» автоматически изменяется на «Courier New», улучшенную версию Courier, которая позволяет плавно масштабировать шрифт. Более старый шрифт Courier в формате bitmap можно выбрать, установив стратегию стиля PreferBitmap (см. setStyleStrategy()).
После нахождения шрифта оставшиеся атрибуты сопоставляются в порядке приоритета:
- fixedPitch()
- pointSize() (см. ниже)
- weight()
- style()
Если у вас есть шрифт, который совпадает по семейству, даже если ни один из других атрибутов не совпадает, этот шрифт будет выбран по сравнению со шрифтом, который не совпадает по семейству, но который соответствует другим атрибутам. Это потому, что семейство шрифтов является доминирующим критерием поиска.
Размер шрифта определяется как совпадающий, если он находится в пределах 20% от запрошенного размера шрифта. Когда несколько шрифтов совпадают и различаются только размером шрифта, шрифт с размером шрифта, наиболее близким к запрошенному, будет выбран.
Фактическое семейство, размер шрифта, вес и другие атрибуты шрифта, используемые для отображения текста, будут зависеть от доступных для выбранного семейства в системе окон. Объект QFontInfo можно использовать для определения фактических значений, используемых для отображения текста.
Примеры:
QFont f("Helvetica"); Если у вас есть и Adobe, и 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 (w/o Platform Update) и ранее | Полный кернинг | Полный кернинг | Полный кернинг | Полный кернинг |
| Windows 7 и Windows Vista (с обновлением платформы) и DirectWrite, включенный в Qt | Полный кернинг | Вертикальный кернинг | Вертикальный кернинг | Полный кернинг |
| FreeType | Настройки операционной системы | Отсутствует кернинг | Вертикальный кернинг (легкий) | Полный кернинг |
| Cocoa на macOS | Отсутствует кернинг | Отсутствует кернинг | Отсутствует кернинг | Отсутствует кернинг |
Примечание: Обратите внимание, что изменение предпочтения кернинга в Windows доступно через движок шрифтов DirectWrite. Это доступно в Windows Vista после установки обновления платформы и в Windows 7. Для использования этого расширения настройте Qt с помощью -directwrite. Затем целевое приложение будет зависеть от наличия DirectWrite на целевой системе.
Это перечисление было введено или изменено в Qt 4.8.
enum QFont::SpacingType
| Постоянная | Значение | Описание |
|---|---|---|
QFont::PercentageSpacing |
0 |
Значение 100 сохранит интервалы без изменений; значение 200 увеличит интервал после символа на ширину самого символа. |
QFont::AbsoluteSpacing |
1 |
Положительное значение увеличивает интервал между буквами на соответствующее количество пикселей; отрицательное значение уменьшает интервал. |
Это перечисление было введено или изменено в Qt 4.4.
enum QFont::Stretch
Предопределенные значения растяжения, которые следуют соглашению об именовании CSS. Чем больше значение, тем больше растянут текст.
| Постоянная | Значение | Описание |
|---|---|---|
QFont::AnyStretch |
0 |
0 Принимает любое растяжение, соответствующее другим свойствам QFont (добавлено в Qt 5.8) |
QFont::UltraCondensed |
50 |
50 |
QFont::ExtraCondensed |
62 |
62 |
QFont::Condensed |
75 |
75 |
QFont::SemiCondensed |
87 |
87 |
QFont::Unstretched |
100 |
100 |
QFont::SemiExpanded |
112 |
112 |
QFont::Expanded |
125 |
125 |
QFont::ExtraExpanded |
150 |
150 |
QFont::UltraExpanded |
200 |
200 |
См. также setStretch() и stretch().
enum QFont::Style
Это перечисление описывает различные стили глифов, используемые для отображения текста.
| Постоянная | Значение | Описание |
|---|---|---|
QFont::StyleNormal |
0 |
Обычные глифы, используемые в нестилизованном тексте. |
QFont::StyleItalic |
1 |
Курсивные глифы, специально разработанные для представления курсивного текста. |
QFont::StyleOblique |
2 |
Глифы с курсивным видом, обычно основанные на нестилизованных глифах, но не доработаны для представления курсивного текста. |
См. также Weight.
enum QFont::StyleHint
Подсказки стиля используются алгоритмом подбора шрифтов для поиска подходящей семейства по умолчанию, если выбранная семейства шрифтов недоступна.
| Постоянная | Значение | Описание |
|---|---|---|
QFont::AnyStyle |
5 |
Оставляет алгоритму подбора шрифтов выбор семейства. Это значение по умолчанию. |
QFont::SansSerif |
Helvetica |
Подборщик шрифтов предпочитает шрифты без засечек. |
QFont::Helvetica |
0 |
Синоним для SansSerif. |
QFont::Serif |
Times |
Подборщик шрифтов предпочитает шрифты с засечками. |
QFont::Times |
1 |
Синоним для Serif. |
QFont::TypeWriter |
Courier |
Подборщик шрифтов предпочитает шрифты с фиксированным размером. |
QFont::Courier |
2 |
Синоним для TypeWriter. |
QFont::OldEnglish |
3 |
Подборщик шрифтов предпочитает декоративные шрифты. |
QFont::Decorative |
OldEnglish |
Синоним для OldEnglish. |
QFont::Monospace |
7 |
Подборщик шрифтов предпочитает шрифты, которые соответствуют обобщенному семейству шрифтов CSS 'monospace'. |
QFont::Fantasy |
8 |
Подборщик шрифтов предпочитает шрифты, которые соответствуют обобщенному семейству шрифтов CSS 'fantasy'. |
QFont::Cursive |
6 |
Подборщик шрифтов предпочитает шрифты, которые соответствуют обобщенному семейству шрифтов CSS 'cursive'. |
QFont::System |
4 |
Подборщик шрифтов предпочитает системные шрифты. |
enum QFont::StyleStrategy
Стратегия стиля сообщает алгоритму подбора шрифтов какие типы шрифтов следует использовать для поиска подходящей семейства по умолчанию.
Доступны следующие стратегии:
| Константа | Значение | Описание |
|---|---|---|
QFont::PreferDefault |
0x0001 |
по умолчанию стратегия стилей. Не отдаёт предпочтения никакому типу шрифтов. |
QFont::PreferBitmap |
0x0002 |
отдаёт предпочтение растровым шрифтам (по сравнению с контурными). |
QFont::PreferDevice |
0x0004 |
отдаёт предпочтение шрифтам устройства. |
QFont::PreferOutline |
0x0008 |
отдаёт предпочтение контурным шрифтам (по сравнению с растровыми). |
QFont::ForceOutline |
0x0010 |
вынуждает использовать контурные шрифты. |
QFont::NoAntialias |
0x0100 |
не применять сглаживание шрифтов. |
QFont::NoSubpixelAntialias |
0x0800 |
избегать субпиксельного сглаживания шрифтов, если это возможно. |
QFont::PreferAntialias |
0x0080 |
применять сглаживание, если это возможно. |
QFont::OpenGLCompatible |
0x0200 |
вынуждает использовать шрифты, совместимые с OpenGL. |
QFont::NoFontMerging |
0x8000 |
Если шрифт, выбранный для определённой письменности, не содержит символа, запрошенного для отрисовки, Qt автоматически выбирает похожий шрифт, который содержит этот символ. Флаг NoFontMerging отключает эту функцию. Обратите внимание, что включение этого флага не предотвратит Qt от автоматического выбора подходящего шрифта, когда выбранный шрифт не поддерживает письменность текста. |
QFont::PreferNoShaping |
0x1000 |
Иногда шрифт применяет сложные правила к набору символов для их правильного отображения. В некоторых письменных системах, таких как брахмические скрипты, это необходимо для удобочитаемости текста, но в, например, латинском алфавите это просто косметическая функция. Флаг PreferNoShaping отключит все такие функции, когда они не нужны, что в большинстве случаев улучшит производительность (с Qt 5.10). |
Любой из этих флагов может быть объединён с одним из следующих:
| Константа | Значение | Описание |
|---|---|---|
QFont::PreferMatch |
0x0020 |
предпочитать точное совпадение. Подборщик шрифтов попытается использовать именно тот размер шрифта, который был указан. |
QFont::PreferQuality |
0x0040 |
предпочитать шрифт с наилучшим качеством. Подборщик шрифтов будет использовать ближайший стандартный размер шрифта, который поддерживает шрифт. |
QFont::ForceIntegerMetrics |
0x0400 |
вынуждает использовать целочисленные значения в шрифтовых движках, которые поддерживают дробные метрики шрифтов. |
Перечисление QFont::Weight
Qt использует шкалу весов от 0 до 99, подобную, но не идентичную, шкалам, используемым в Windows или CSS. Вес 0 будет тонким, а 99 — чрезвычайно жирным.
Это перечисление содержит предопределённые весы шрифтов:
| Константа | Значение | Описание |
|---|---|---|
QFont::Thin |
0 |
0 |
QFont::ExtraLight |
12 |
12 |
QFont::Light |
25 |
25 |
QFont::Normal |
50 |
50 |
QFont::Medium |
57 |
57 |
QFont::DemiBold |
63 |
63 |
QFont::Bold |
75 |
75 |
QFont::ExtraBold |
81 |
81 |
QFont::Black |
87 |
87 |
Документация функций-членов
QFont::QFont(const QFont& font)
Создаёт шрифт, являющийся копией шрифта font.
QFont::QFont(const QFont& font, const QPaintDevice* pd)
Создаёт шрифт из font для использования на устройстве отрисовки pd.
Эта функция была добавлена в Qt 5.13.
QFont::QFont(const QString& family, int pointSize = -1, int weight = -1, bool italic = false)
Создаёт объект шрифта с указанными параметрами family, pointSize, weight и italic.
Если pointSize равно нулю или отрицательному значению, размер шрифта устанавливается в системно-зависимое значение по умолчанию. Как правило, это 12 пунктов.
Имя family может также включать имя типографии, например, "Helvetica [Cronyx]". Если family доступен от нескольких типографий, а типография не указана, выбирается произвольная типография. Если шрифт недоступен, шрифт будет установлен с использованием алгоритма подбора шрифтов.
См. также Weight, setFamily(), setPointSize(), setWeight(), setItalic(), setStyleHint() и QGuiApplication::font().
QFont::QFont()
Создаёт объект шрифта, использующий шрифт приложения по умолчанию.
См. также QGuiApplication::setFont() и QGuiApplication::font().
QFont& QFont::operator=(QFont&& other)
Перемещающее присваивание other этому экземпляру QFont.
Эта функция была добавлена в Qt 5.2.
QFont& QFont::operator=(const QFont& font)
Присваивает font этому шрифту и возвращает ссылку на него.
QFont::~QFont()
Удаляет объект шрифта и освобождает все выделенные ресурсы.
bool QFont::bold() const
Возвращает true если weight() имеет значение больше, чем QFont::Medium; в противном случае возвращает false.
См. также weight(), setBold() и QFontInfo::bold().
QFont::Capitalization QFont::capitalization() const
Возвращает текущий тип капитализации шрифта.
Эта функция была добавлена в Qt 4.4.
См. также setCapitalization().
QString QFont::defaultFamily() const
Возвращает имя семейства шрифтов, соответствующее текущему стилю.
См. также StyleHint, styleHint() и setStyleHint().
bool QFont::exactMatch() const
Возвращает true если система окон имеет шрифт, точно соответствующий настройкам этого шрифта.
См. также QFontInfo.
QStringList QFont::families() const
Возвращает запрашиваемые имена семейств шрифтов, т.е. имена, заданные в последнем вызове setFamilies() или через конструктор. В противном случае возвращает пустой список.
Эта функция была добавлена в Qt 5.13.
См. также setFamily(), setFamilies(), family(), substitutes() и substitute().
QString QFont::family() const
Возвращает запрашиваемое имя семейства шрифтов, т.е. имя, заданное в конструкторе или в последнем вызове setFont().
См. также setFamily(), substitutes() и substitute().
bool QFont::fixedPitch() const
Возвращает true если фиксированный интервал был установлен; в противном случае возвращает false.
См. также setFixedPitch() и QFontInfo::fixedPitch().
bool QFont::fromString(const QString& descrip)
Устанавливает шрифт в соответствии с описанием descrip. Описание представляет собой список атрибутов шрифта, разделённых запятыми, как возвращает toString().
См. также toString().
QFont::HintingPreference QFont::hintingPreference() const
Возвращает текущий предпочтительный уровень сглаживания глифов, отображаемых с помощью этого шрифта.
Эта функция была добавлена в Qt 4.8.
См. также setHintingPreference().
[static] void QFont::insertSubstitution(const QString &familyName, const QString &substituteName)
Вставляет substituteName в таблицу подстановок для семейства familyName.
См. также insertSubstitutions(), removeSubstitutions(), substitutions(), substitute(), и substitutes().
[static] void QFont::insertSubstitutions(const QString &familyName, const QStringList &substituteNames)
Вставляет список семейств substituteNames в список подстановок для familyName.
См. также insertSubstitution(), removeSubstitutions(), substitutions(), и substitute().
bool QFont::isCopyOf(const QFont &f) const
Возвращает true, если этот шрифт и f являются копиями друг друга, т.е. один из них был создан как копия другого, и ни один из них не был изменён с тех пор. Это гораздо строже, чем равенство.
См. также operator=() и operator==().
bool QFont::italic() const
Возвращает true если стиль (style()) шрифта не QFont::StyleNormal.
См. также setItalic() и style().
bool QFont::kerning() const
Возвращает true если следует использовать кернинг при отрисовке текста этим шрифтом.
См. также setKerning().
QString QFont::key() const
Возвращает ключ шрифта, текстовое представление шрифта. Обычно используется в качестве ключа для кэша или словаря шрифтов.
См. также QMap.
qreal QFont::letterSpacing() const
Возвращает интерлиньяж для шрифта.
Эта функция была добавлена в Qt 4.4.
См. также setLetterSpacing(), letterSpacingType() и setWordSpacing().
QFont::SpacingType QFont::letterSpacingType() const
Возвращает тип интерлиньяжа, используемый для интерлиньяжа.
Эта функция была добавлена в Qt 4.4.
См. также letterSpacing(), setLetterSpacing() и setWordSpacing().
bool QFont::overline() const
Возвращает true если задана черта сверху, в противном случае возвращает false.
См. также setOverline().
int QFont::pixelSize() const
Возвращает размер шрифта в пикселях, если он был задан с помощью setPixelSize(). Возвращает -1, если размер был задан с помощью setPointSize() или setPointSizeF().
См. также setPixelSize(), pointSize(), QFontInfo::pointSize() и QFontInfo::pixelSize().
int QFont::pointSize() const
Возвращает размер шрифта в пунктах. Возвращает -1, если размер шрифта был задан в пикселях.
См. также setPointSize() и pointSizeF().
qreal QFont::pointSizeF() const
Возвращает размер шрифта в пунктах. Возвращает -1, если размер шрифта был задан в пикселях.
См. также pointSize(), setPointSizeF(), pixelSize(), QFontInfo::pointSize() и QFontInfo::pixelSize().
[static] void QFont::removeSubstitutions(const QString &familyName)
Удаляет все подстановки для familyName.
Эта функция была добавлена в Qt 5.0.
См. также insertSubstitutions(), insertSubstitution(), substitutions() и substitute().
QFont QFont::resolve(const QFont &other) const
Возвращает новый QFont, содержащий атрибуты из other, которые не были ранее заданы для этого шрифта.
void QFont::setBold(bool enable)
Если enable равно true, устанавливает начертание шрифта в QFont::Bold; в противном случае устанавливает начертание в QFont::Normal.
Для более точного управления жирностью используйте setWeight().
Примечание: Если styleName() задано, это значение может быть проигнорировано, или, если это поддерживается на платформе, шрифт искусственно будет выделен жирным шрифтом.
См. также bold() и setWeight().
void QFont::setCapitalization(QFont::Capitalization caps)
Устанавливает регистр текста в этом шрифте на caps.
Регистр шрифта делает текст видимым в выбранном режиме регистров.
Эта функция была добавлена в Qt 4.4.
См. также capitalization().
void QFont::setFamilies(const QStringList &families)
Устанавливает список имён семейств шрифтов. Имена нечувствительны к регистру и могут включать имя типографии. Первое семейство в families будет установлено в качестве основного семейства для шрифта.
Каждое имя семейства в families может дополнительно включать имя типографии, например, "Helvetica [Cronyx]". Если семейство доступно от более чем одной типографии, а типография не указана, выбирается произвольная типография. Если семейство недоступно, семейство будет установлено с помощью алгоритма подбора шрифтов font matching.
Эта функция была добавлена в Qt 5.13.
См. также family(), families(), setFamily(), setStyleHint() и QFontInfo.
void QFont::setFamily(const QString &family)
Устанавливает имя семейства шрифта. Имя нечувствительно к регистру и может включать имя типографии.
Имя family может дополнительно включать имя типографии, например, "Helvetica [Cronyx]". Если семейство доступно от более чем одной типографии, а типография не указана, выбирается произвольная типография. Если семейство недоступно, семейство будет установлено с помощью алгоритма подбора шрифтов font matching.
См. также 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.
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 QFont::qHash(const QFont &font, uint seed = 0)
Возвращает значение хеша для font. Если указано, seed используется для инициализации хеша.
Эта функция была добавлена в Qt 5.3.
QDataStream &QFont::operator<<(QDataStream &s, const QFont &font)
Записывает шрифт font в поток данных s. (toString() записывает в текстовый поток.)
См. также Формат операторов QDataStream.
QDataStream &QFont::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.13/qfont.html