Spec-Zone.ru › Qt 5.6

Класс QFont

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

Заголовок: #include <QFont>
qmake: QT += gui
  • Список всех членов, включая унаследованные
  • Устаревшие члены

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

Типы общедоступного доступа

Перечисление Capitalization { MixedCase, AllUppercase, AllLowercase, SmallCaps, Capitalize }
Перечисление HintingPreference { PreferDefaultHinting, PreferNoHinting, PreferVerticalHinting, PreferFullHinting }
Перечисление SpacingType { PercentageSpacing, AbsoluteSpacing }
Перечисление Stretch { UltraCondensed, ExtraCondensed, Condensed, SemiCondensed, ..., UltraExpanded }
Перечисление Стиль { StyleNormal, StyleItalic, StyleOblique }
Перечисление StyleHint { AnyStyle, SansSerif, Helvetica, Serif, ..., System }
Перечисление StyleStrategy { PreferDefault, PreferBitmap, PreferDevice, PreferOutline, ..., ForceIntegerMetrics }
Перечисление Вес { 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
Стилизация заглавных букв capitalization() const
QString defaultFamily() const
bool exactMatch() const
QString family() const
bool fixedPitch() const
bool fromString(const QString &descrip)
Предпочтение выравнивания 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
Тип интерлиньяжа 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(Capitalization caps)
void setFamily(const QString &family)
void setFixedPitch(bool enable)
void setHintingPreference(HintingPreference hintingPreference)
void setItalic(bool enable)
void setKerning(bool enable)
void setLetterSpacing(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(Style style)
void setStyleHint(StyleHint hint, StyleStrategy strategy = PreferDefault)
void setStyleName(const QString &styleName)
void setStyleStrategy(StyleStrategy s)
void setUnderline(bool enable)
void setWeight(int weight)
void setWordSpacing(qreal spacing)
int stretch() const
bool strikeOut() const
Стиль style() const
Подсказка стиля styleHint() const
QString styleName() const
Стратегия стиля styleStrategy() const
void swap(QFont &other)
QString toString() const
bool underline() const
int weight() const
qreal wordSpacing() const
operator QVariant() const
bool operator!=(const QFont &f) const
bool operator<(const QFont &f) const
QFont & operator=(const QFont &font)
QFont & operator=(QFont &&other)
bool operator==(const QFont &f) const

Статические публичные члены

void insertSubstitution(const QString &familyName, const QString &substituteName)
void insertSubstitutions(const QString &familyName, const QStringList &substituteNames)
void removeSubstitutions(const QString &familyName)
QString substitute(const QString &familyName)
QStringList substitutes(const QString &familyName)
QStringList substitutions()

Связанные нечлены

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 нарисует незаполненный квадрат.

Создавайте QFont так:

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(). Также доступны функции операторов <<() и >>(), но они работают с потоком данных.

Можно установить высоту символов, отображаемых на экране, до указанного числа пикселей с помощью 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.width("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 Это изменяет текст, делая первую букву каждого слова заглавной.

Этот перечисление был введён или изменён в 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::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 ? оставляет алгоритм подбора шрифтов для выбора семейства. Это значение по умолчанию.
QFont::SansSerif Helvetica алгоритм подбора шрифтов предпочитает шрифты без засечек.
QFont::Helvetica 0 является синонимом для SansSerif.
QFont::Serif Times алгоритм подбора шрифтов предпочитает шрифты с засечками.
QFont::Times ? является синонимом для Serif.
QFont::TypeWriter Courier алгоритм подбора шрифтов предпочитает шрифты с фиксированным размером.
QFont::Courier ? синоним для TypeWriter.
QFont::OldEnglish ? алгоритм подбора шрифтов предпочитает декоративные шрифты.
QFont::Decorative OldEnglish является синонимом для OldEnglish.
QFont::Monospace ? алгоритм подбора шрифтов предпочитает шрифты, соответствующие CSS-семейству шрифтов 'monospace'.
QFont::Fantasy ? алгоритм подбора шрифтов предпочитает шрифты, соответствующие CSS-семейству шрифтов 'fantasy'.
QFont::Cursive ? алгоритм подбора шрифтов предпочитает шрифты, соответствующие CSS-семейству шрифтов 'cursive'.
QFont::System ? алгоритм подбора шрифтов предпочитает системные шрифты.

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::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().

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().

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().

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().

См. также bold() и setWeight().

void QFont::setCapitalization(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(HintingPreference hintingPreference)

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

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

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

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

void QFont::setItalic(bool enable)

Устанавливает стиль (style()) шрифта в QFont::StyleItalic, если enable равно true; в противном случае стиль устанавливается в QFont::StyleNormal.

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

void QFont::setKerning(bool enable)

Включает кернинг для этого шрифта, если enable равно true; в противном случае выключает его. По умолчанию кернинг включён.

При включённом кернинге метрики глифов больше не суммируются, даже для латинского текста. Другими словами, предположение, что width('a') + width('b') равно width("ab"), не всегда справедливо.

См. также kerning() и QFontMetrics.

void QFont::setLetterSpacing(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%) шире. Значение по умолчанию для коэффициента сжатия/растяжения равно 100. Минимальный коэффициент сжатия/растяжения равен 1, а максимальный — 4000.

Коэффициент сжатия/растяжения применяется только к контурным шрифтам. Для растровых шрифтов коэффициент сжатия/растяжения игнорируется.

См. также stretch() и QFont::Stretch.

void QFont::setStrikeOut(bool enable)

Если enable равно true, то штрих через устанавливается; иначе, штрих через отключается.

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

void QFont::setStyle(Style style)

Устанавливает стиль шрифта на style.

См. также style(), italic() и QFontInfo.

void QFont::setStyleHint(StyleHint hint, 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(StyleStrategy s)

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

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

void QFont::setUnderline(bool enable)

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

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

void QFont::setWeight(int weight)

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

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

Style QFont::style() const

Возвращает стиль шрифта.

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

StyleHint QFont::styleHint() const

Возвращает StyleHint.

Подсказка стиля влияет на алгоритм сопоставления шрифтов. Список доступных подсказок см. в QFont::StyleHint.

См. также setStyleHint(), QFont::StyleStrategy и QFontInfo::styleHint().

QString QFont::styleName() const

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

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

См. также setStyleName(), setFamily() и setStyle().

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().

QFont::operator QVariant() const

Возвращает шрифт как QVariant

bool QFont::operator!=(const QFont &f) const

Возвращает true если этот шрифт отличается от f; в противном случае возвращает false.

Два QFont считаются различными, если их атрибуты шрифта отличаются.

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

bool QFont::operator<(const QFont &f) const

Обеспечивает произвольное сравнение этого шрифта и шрифта f. Гарантируется только то, что оператор возвращает false если оба шрифта равны, и (f1 < f2) == !(f2 < f1), если шрифты не равны.

Эта функция полезна в некоторых ситуациях, например, если вы хотите использовать объекты QFont в качестве ключей в QMap.

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

QFont &QFont::operator=(const QFont &font)

Присваивает font этому шрифту и возвращает ссылку на него.

QFont &QFont::operator=(QFont &&other)

Присваивает other этому экземпляру QFont.

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

bool QFont::operator==(const QFont &f) const

Возвращает true если этот шрифт равен f; в противном случае возвращает false.

Два QFont считаются равными, если их атрибуты шрифта равны.

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

Связанные внешние члены

uint qHash(const QFont &font, uint seed = 0)

Возвращает хеш-значение для font. Если задано, seed используется для инициализации хеша.

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

QDataStream &operator<<(QDataStream &s, const QFont &font)

Записывает шрифт font в поток данных s. (toString() записывает в текстовый поток.)

См. также Формат операторов QDataStream.

QDataStream &operator>>(QDataStream &s, QFont &font)

Считывает шрифт font из потока данных s. (fromString() считывает из текстового потока.)

См. также Формат операторов QDataStream.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qfont.html

Spec-Zone.ru

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