Spec-Zone.ru › Qt 5.12

Класс 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 быстрым и кэшировать результаты медленных функций системы окон, от которых он зависит.

Алгоритм подбора шрифтов работает следующим образом:

  1. Ищется указанное семейство шрифтов.
  2. Если не найдено, используется styleHint() для выбора замещающего семейства.
  3. Ищется каждое замещающее семейство шрифтов.
  4. Если ни один из них не найден или не было styleHint(), будет осуществляться поиск "helvetica".
  5. Если "helvetica" не найден, Qt будет искать lastResortFamily().
  6. Если lastResortFamily() не найден, Qt будет искать lastResortFont(), который всегда вернёт какое-то имя.

Обратите внимание, что фактический алгоритм подбора шрифтов зависит от платформы.

В Windows запрос на шрифт "Courier" автоматически изменяется на "Courier New", улучшенную версию Courier, которая позволяет плавно масштабировать. Более старый шрифт "Courier" в формате растрового изображения можно выбрать, установив стратегию стиля PreferBitmap (см. setStyleStrategy()).

После того, как шрифт найден, остальные атрибуты сопоставляются в порядке приоритета:

  1. fixedPitch()
  2. pointSize() (см. ниже)
  3. weight()
  4. 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_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/qt-5.12/qfont.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API