Spec-Zone.ru › Qt 6.0

Класс QFont

Класс QFont задаёт запрос на шрифт, используемый для отрисовки текста. Подробнее...

Заголовок: #include <QFont>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Примечание: Все функции в этом классе являются взаимоисключающими.

Публичные типы

Перечисление Capitalization { MixedCase, AllUppercase, AllLowercase, SmallCaps, Capitalize }
Перечисление HintingPreference { PreferDefaultHinting, PreferNoHinting, PreferVerticalHinting, PreferFullHinting }
Перечисление SpacingType { PercentageSpacing, AbsoluteSpacing }
Перечисление Stretch { AnyStretch, UltraCondensed, ExtraCondensed, Condensed, SemiCondensed, …, UltraExpanded }
Перечисление Style { StyleNormal, StyleItalic, StyleOblique }
Перечисление StyleHint { AnyStyle, SansSerif, Helvetica, Serif, Times, …, System }
Перечисление StyleStrategy { PreferDefault, PreferBitmap, PreferDevice, PreferOutline, ForceOutline, …, PreferQuality }
Перечисление Weight { Thin, ExtraLight, Light, Normal, Medium, …, Black }

Публичные функции

QFont(const QFont &font)
QFont(const QFont &font, const QPaintDevice *pd)
QFont(const QString &family, int pointSize = -1, int weight = -1, bool italic = false)
QFont()
QFont & operator=(QFont &&other)
QFont & operator=(const QFont &font)
~QFont()
bool bold() const
QFont::Capitalization capitalization() const
QString defaultFamily() const
bool exactMatch() const
QStringList families() const
QString family() const
bool fixedPitch() const
bool fromString(const QString &descrip)
QFont::HintingPreference hintingPreference() const
bool isCopyOf(const QFont &f) const
bool italic() const
bool kerning() const
QString key() const
qreal letterSpacing() const
QFont::SpacingType letterSpacingType() const
bool overline() const
int pixelSize() const
int pointSize() const
qreal pointSizeF() const
QFont resolve(const QFont &other) const
void setBold(bool enable)
void setCapitalization(QFont::Capitalization caps)
void setFamilies(const QStringList &families)
void setFamily(const QString &family)
void setFixedPitch(bool enable)
void setHintingPreference(QFont::HintingPreference hintingPreference)
void setItalic(bool enable)
void setKerning(bool enable)
void setLetterSpacing(QFont::SpacingType type, qreal spacing)
void setOverline(bool enable)
void setPixelSize(int pixelSize)
void setPointSize(int pointSize)
void setPointSizeF(qreal pointSize)
void setStretch(int factor)
void setStrikeOut(bool enable)
void setStyle(QFont::Style style)
void setStyleHint(QFont::StyleHint hint, QFont::StyleStrategy strategy = PreferDefault)
void setStyleName(const QString &styleName)
void setStyleStrategy(QFont::StyleStrategy s)
void setUnderline(bool enable)
void setWeight(QFont::Weight 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
QFont::Weight 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

size_t qHash(const QFont &font, size_t 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.

Каждый QFont имеет ключ(), который вы можете использовать, например, в качестве ключа в кэше или словаре. Если вы хотите сохранить предпочтения пользователя относительно шрифтов, вы можете использовать QSettings, записывая информацию о шрифте с помощью toString() и считывая её обратно с помощью fromString(). Функции operator<<() и operator>>() также доступны, но они работают с потоком данных.

Можно установить высоту символов, отображаемых на экране, в заданное число пикселей с помощью setPixelSize(); однако, использование setPointSize() имеет аналогичный эффект и обеспечивает независимость от устройства.

Загрузка шрифтов может быть дорогостоящей, особенно в X11. QFont содержит обширные оптимизации, чтобы сделать копирование объектов QFont быстрым и кэшировать результаты медленных функций системы окон, от которых он зависит.

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

  1. Производится поиск указанных семейств шрифтов (заданных с помощью setFamilies()).
  2. Если не найдены, то, если задано, указанное семейство шрифтов существует и может быть использовано для представления используемой письменности, оно будет выбрано.
  3. Если нет, выбирается шрифт-заменитель, который поддерживает письменность. Алгоритм подбора шрифтов будет пытаться найти наилучшее соответствие для всех свойств, заданных в QFont. Способ выполнения этого варьируется в зависимости от платформы.
  4. Если в системе нет шрифта, который может поддерживать текст, будут показаны специальные поля «отсутствующего символа».

Примечание: Если выбранный шрифт, хотя и поддерживает письменность в целом, отсутствуют глифы для одного или нескольких конкретных символов, Qt попытается найти резервный шрифт для этого или этих конкретных символов. Эту функцию можно отключить, используя стиль стратегии QFont::NoFontMerging.

В 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 Это изменяет текст на полужирный регистр.
QFont::Capitalize 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 на целевой системе.

enum QFont::SpacingType

Постоянная Значение Описание
QFont::PercentageSpacing 0 Значение 100 сохранит интервалы без изменений; значение 200 увеличит интервалы после символа на ширину самого символа.
QFont::AbsoluteSpacing 1 Положительное значение увеличивает межбуквенное расстояние на соответствующее количество пикселей; отрицательное значение уменьшает расстояние.

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::NoFontMerging 0x8000 Если выбранный для определённой письменности шрифт не содержит символа, который необходимо отобразить, Qt автоматически выбирает похожий шрифт, содержащий этот символ. Флаг NoFontMerging отключает эту функцию. Обратите внимание, что включение этого флага не помешает Qt автоматически выбирать подходящий шрифт, когда выбранный шрифт не поддерживает письменность текста.
QFont::PreferNoShaping 0x1000 Иногда шрифт применяет сложные правила к набору символов, чтобы отобразить их правильно. В некоторых письменных системах, таких как брахмические скрипты, это необходимо для читабельности текста, но, например, в латинском шрифте это просто косметическая функция. Флаг PreferNoShaping отключит все такие функции, когда они не нужны, что в большинстве случаев улучшит производительность (с Qt 5.10).

Любой из этих флагов может быть объединён с одним из этих флагов:

Константа Значение Описание
QFont::PreferMatch 0x0020 предпочитать точное соответствие. Подборщик шрифтов попытается использовать указанный размер шрифта.
QFont::PreferQuality 0x0040 предпочитать шрифт наилучшего качества. Подборщик шрифтов будет использовать ближайший стандартный размер точки, который поддерживает шрифт.

перечисление QFont::Weight

Qt использует шкалу весов от 1 до 1000, совместимую с OpenType. Вес 1 будет тонким, а 1000 — чрезвычайно чёрным.

Это перечисление содержит предопределённые веса шрифтов:

Константа Значение Описание
QFont::Thin 100 100
QFont::ExtraLight 200 200
QFont::Light 300 300
QFont::Normal 400 400
QFont::Medium 500 500
QFont::DemiBold 600 600
QFont::Bold 700 700
QFont::ExtraBold 800 800
QFont::Black 900 900

Документация по функциям-членам

QFont::QFont(const QFont &font)

Создаёт шрифт, являющийся копией font.

[since 5.13] 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 доступно от нескольких производителей, а имя производителя не указано, выбирается произвольное имя производителя. Если семейство недоступно, семейство будет установлено с помощью алгоритма подбора шрифтов font matching.

См. также Weight, setFamily(), setPointSize(), setWeight(), setItalic(), setStyleHint() и QGuiApplication::font().

QFont::QFont()

Создаёт объект шрифта, использующий шрифт по умолчанию приложения.

См. также QGuiApplication::setFont() и QGuiApplication::font().

[since 5.2] 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

Возвращает текущий тип капитализации шрифта.

См. также setCapitalization().

QString QFont::defaultFamily() const

Возвращает имя семейства, соответствующее текущей подсказке стиля.

См. также StyleHint, styleHint() и setStyleHint().

bool QFont::exactMatch() const

Возвращает true если в системе доступен шрифт, точно соответствующий параметрам этого шрифта.

См. также QFontInfo.

[since 5.13] 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

Возвращает текущий предпочтительный уровень подсказок для глифов, отображаемых с помощью этого шрифта.

См. также setHintingPreference().

[static] void QFont::insertSubstitution(const QString &familyName, const QString &substituteName)

Вставляет substituteName в таблицу подстановок для семейства familyName.

После подстановки шрифта, запустите обновление шрифта, уничтожив и повторно создав все объекты QFont.

См. также insertSubstitutions(), removeSubstitutions(), substitutions(), substitute() и substitutes().

[static] void QFont::insertSubstitutions(const QString &familyName, const QStringList &substituteNames)

Вставляет список семейств substituteNames в список подстановок для familyName.

После подстановки шрифта, запустите обновление шрифта, уничтожив и повторно создав все объекты QFont.

См. также insertSubstitution(), removeSubstitutions(), substitutions() и substitute().

bool QFont::isCopyOf(const QFont &f) const

Возвращает true, если этот шрифт и f являются копиями друг друга, т. е. один из них был создан как копия другого, и ни один из них не был изменён с тех пор. Это гораздо строже, чем равенство.

См. также operator=() и operator==().

bool QFont::italic() const

Возвращает true, если стиль (style()) шрифта не QFont::StyleNormal

См. также setItalic() и style().

bool QFont::kerning() const

Возвращает true, если керинг должен использоваться при отрисовке текста этим шрифтом.

См. также setKerning().

QString QFont::key() const

Возвращает ключ шрифта, текстовое представление шрифта. Обычно используется в качестве ключа для кэша или словаря шрифтов.

См. также QMap.

qreal QFont::letterSpacing() const

Возвращает интерлиньяж для шрифта.

См. также setLetterSpacing(), letterSpacingType() и setWordSpacing().

QFont::SpacingType QFont::letterSpacingType() const

Возвращает тип интерлиньяжа, используемый для интерлиньяжа.

См. также 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, since 5.0] 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.

Регистр шрифта определяет вывод текста в выбранном режиме.

См. также capitalization().

[since 5.13] void QFont::setFamilies(const QStringList &families)

Устанавливает список имён семейств шрифтов. Имена нечувствительны к регистру и могут включать имя производителя. Первое семейство в families будет установлено как основное для шрифта.

Каждая запись имени семейства в families может также необязательно включать имя производителя, например, "Helvetica [Cronyx]". Если семейство доступно от более чем одного производителя и имя производителя не указано, выбирается произвольный производитель. Если семейство недоступно, семейство будет установлено с помощью алгоритма сопоставления шрифтов.

Эта функция была добавлена в Qt 5.13.

См. также family(), families(), setFamily(), setStyleHint() и QFontInfo.

void QFont::setFamily(const QString &family)

Устанавливает имя семейства шрифта. Имя нечувствительно к регистру и может включать имя производителя.

Имя family может необязательно включать имя производителя, например, "Helvetica [Cronyx]". Если семейство доступно от более чем одного производителя и имя производителя не указано, выбирается произвольный производитель. Если семейство недоступно, семейство будет установлено с помощью алгоритма сопоставления шрифтов.

См. также family(), setStyleHint() и QFontInfo.

void QFont::setFixedPitch(bool enable)

Если enable равно true, устанавливает фиксированный шаг; в противном случае отключает фиксированный шаг.

См. также fixedPitch() и QFontInfo.

void QFont::setHintingPreference(QFont::HintingPreference hintingPreference)

Устанавливает предпочтение уровня подсказок для глифов в hintingPreference. Это подсказка для системы рендеринга шрифтов использовать определённый уровень подсказок, и поддержка варьируется в зависимости от платформы. Подробнее см. таблицу в документации для QFont::HintingPreference.

По умолчанию используется QFont::PreferDefaultHinting.

См. также 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.

Межбуквенное расстояние изменяет стандартное расстояние между отдельными буквами в шрифте. Расстояние между буквами может быть уменьшено или увеличено в процентах от ширины символа или в пикселях, в зависимости от выбранного типа расстояния.

См. также 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(), будут игнорироваться при сопоставлении шрифтов, хотя они могут быть смоделированы позже, если это поддерживается движком шрифтов платформы.

Из-за более низкого качества искусственно смоделированных стилей и отсутствия полной поддержки на всех платформах не рекомендуется использовать соответствие по имени стиля вместе с соответствием по свойствам стиля.

См. также styleName().

void QFont::setStyleStrategy(QFont::StyleStrategy s)

Устанавливает стратегию стиля для шрифта в s.

См. также styleStrategy() и QFont::StyleStrategy.

void QFont::setUnderline(bool enable)

Если enable имеет значение true, устанавливает подчеркивание; в противном случае отключает подчеркивание.

См. также underline() и QFontInfo.

void QFont::setWeight(QFont::Weight weight)

Устанавливает толщину шрифта в weight, используя шкалу, определённую перечислением QFont::Weight.

Примечание: Если styleName() установлено, это значение может быть проигнорировано при выборе шрифта.

См. также weight() и QFontInfo.

void QFont::setWordSpacing(qreal spacing)

Устанавливает межсловное расстояние для шрифта в spacing.

Межсловное расстояние изменяет стандартное расстояние между отдельными словами. Положительное значение увеличивает межсловное расстояние на соответствующее количество пикселей, а отрицательное значение уменьшает межсловное расстояние соответственно.

Межсловное расстояние не будет применяться к системам письма, где отдельные слова не разделены пробелами.

См. также 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

Возвращает запрашиваемое имя стиля шрифта. Его можно использовать для сопоставления шрифтов с нестандартными стилями (которые нельзя нормализовать с помощью других свойств стиля).

См. также 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(), removeSubstitutions(), и substitute().

[since 5.0] void QFont::swap(QFont &other)

Меняет местами текущий экземпляр шрифта с other. Эта функция очень быстрая и никогда не вызывает ошибок.

Эта функция была добавлена в Qt 5.0.

QString QFont::toString() const

Возвращает описание шрифта. Описание — это список атрибутов, разделённых запятыми, идеально подходящий для использования в QSettings.

См. также fromString().

bool QFont::underline() const

Возвращает true если подчеркивание установлено; в противном случае возвращает false.

См. также setUnderline().

QFont::Weight QFont::weight() const

Возвращает начертание шрифта, используя ту же шкалу, что и перечисление QFont::Weight.

См. также setWeight(), Weight и QFontInfo.

qreal QFont::wordSpacing() const

Возвращает межсловный интервал для шрифта.

См. также 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().

Связанные внеклассовые функции

[since 5.3] size_t qHash(const QFont &font, size_t 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-6.0/qfont.html

Spec-Zone.ru

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