Spec-Zone.ru › Qt 5.15

Класс QFontDatabase

Класс QFontDatabase предоставляет информацию о шрифтах, доступных в базовой системе окон. Подробнее...

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

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

Открытые типы

перечисление SystemFont { GeneralFont, FixedFont, TitleFont, SmallestReadableFont }
перечисление WritingSystem { Any, Latin, Greek, Cyrillic, Armenian, …, Nko }

Открытые функции

QFontDatabase()
bool bold(const QString &family, const QString &style) const
QStringList families(QFontDatabase::WritingSystem writingSystem = Any) const
QFont font(const QString &family, const QString &style, int pointSize) const
bool isBitmapScalable(const QString &family, const QString &style = QString()) const
bool isFixedPitch(const QString &family, const QString &style = QString()) const
bool isPrivateFamily(const QString &family) const
bool isScalable(const QString &family, const QString &style = QString()) const
bool isSmoothlyScalable(const QString &family, const QString &style = QString()) const
bool italic(const QString &family, const QString &style) const
QList<int> pointSizes(const QString &family, const QString &styleName = QString())
QList<int> smoothSizes(const QString &family, const QString &styleName)
QString styleString(const QFont &font)
QString styleString(const QFontInfo &fontInfo)
QStringList styles(const QString &family) const
int weight(const QString &family, const QString &style) const
QList<QFontDatabase::WritingSystem> writingSystems() const
QList<QFontDatabase::WritingSystem> writingSystems(const QString &family) const

Статические открытые члены

int addApplicationFont(const QString &fileName)
int addApplicationFontFromData(const QByteArray &fontData)
QStringList applicationFontFamilies(int id)
bool removeAllApplicationFonts()
bool removeApplicationFont(int id)
QList<int> standardSizes()
QFont systemFont(QFontDatabase::SystemFont type)
QString writingSystemName(QFontDatabase::WritingSystem writingSystem)
QString writingSystemSample(QFontDatabase::WritingSystem writingSystem)

Подробное описание

Наиболее распространенные способы использования этого класса — запрос у базы данных списка шрифтовых семейств() и размеров() и стилей(), доступных для каждого семейства. Альтернативой pointSizes() является smoothSizes(), которая возвращает размеры, при которых заданное семейство и стиль будут выглядеть привлекательно.

Если семейство шрифтов доступно от двух или более производителей, имя производителя включено в имя семейства; например: «Helvetica [Adobe]» и «Helvetica [Cronyx]». При указании семейства вы можете использовать старый дефисный формат «производитель-семейство» или скобочный формат «семейство [производитель]»; например: «Cronyx-Helvetica» или «Helvetica [Cronyx]». Если у семейства есть производитель, оно всегда возвращается в скобочном формате, как и в случае с возвращаемым значением families().

Функция font() возвращает QFont при заданном семействе, стиле и размере.

Можно проверить сочетание семейства и стиля, чтобы определить, является ли оно курсивным() или полужирным(), и получить его вес(). Аналогично, можно вызвать isBitmapScalable(), isSmoothlyScalable(), isScalable() и isFixedPitch().

Используйте styleString(), чтобы получить текстовое представление стиля.

Класс QFontDatabase также поддерживает некоторые статические функции, например, standardSizes(). Вы можете получить описание системы письма с помощью writingSystemName() и образец символов в системе письма с помощью writingSystemSample().

Пример:

    QFontDatabase database;
    QTreeWidget fontTree;
    fontTree.setColumnCount(2);
    fontTree.setHeaderLabels(QStringList() << "Font" << "Smooth Sizes");

    const QStringList fontFamilies = database.families();
    for (const QString &family : fontFamilies) {
        QTreeWidgetItem *familyItem = new QTreeWidgetItem(&fontTree);
        familyItem->setText(0, family);

        const QStringList fontStyles = database.styles(family);
        for (const QString &style : fontStyles) {
            QTreeWidgetItem *styleItem = new QTreeWidgetItem(familyItem);
            styleItem->setText(0, style);

            QString sizes;
            const QList<int> smoothSizes = database.smoothSizes(family, style)
            for (int points : smoothSizes)
                sizes += QString::number(points) + ' ';

            styleItem->setText(1, sizes.trimmed());
        }
    }

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

См. также QFont, QFontInfo, QFontMetrics и Пример карты символов.

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

перечисление QFontDatabase::SystemFont

Константа Значение Описание
QFontDatabase::GeneralFont 0 Основной системный шрифт.
QFontDatabase::FixedFont 1 Фиксированный шрифт, рекомендуемый системой.
QFontDatabase::TitleFont 2 Стандартный системный шрифт для заголовков.
QFontDatabase::SmallestReadableFont 3 Наименьший читаемый системный шрифт.

Это перечисление было введено или изменено в Qt 5.2.

перечисление QFontDatabase::WritingSystem

Константа Значение Описание
QFontDatabase::Any 0
QFontDatabase::Latin 1
QFontDatabase::Greek 2
QFontDatabase::Cyrillic 3
QFontDatabase::Armenian 4
QFontDatabase::Hebrew 5
QFontDatabase::Arabic 6
QFontDatabase::Syriac 7
QFontDatabase::Thaana 8
QFontDatabase::Devanagari 9
QFontDatabase::Bengali 10
QFontDatabase::Gurmukhi 11
QFontDatabase::Gujarati 12
QFontDatabase::Oriya 13
QFontDatabase::Tamil 14
QFontDatabase::Telugu 15
QFontDatabase::Kannada 16
QFontDatabase::Malayalam 17
QFontDatabase::Sinhala 18
QFontDatabase::Thai 19
QFontDatabase::Lao 20
QFontDatabase::Tibetan 21
QFontDatabase::Myanmar 22
QFontDatabase::Georgian 23
QFontDatabase::Khmer 24
QFontDatabase::SimplifiedChinese 25
QFontDatabase::TraditionalChinese 26
QFontDatabase::Japanese 27
QFontDatabase::Korean 28
QFontDatabase::Vietnamese 29
QFontDatabase::Symbol 30
QFontDatabase::Other Symbol (то же самое, что и Символ)
QFontDatabase::Ogham 31
QFontDatabase::Runic 32
QFontDatabase::Nko 33

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

QFontDatabase::QFontDatabase()

Создаёт объект базы данных шрифтов.

[static] int QFontDatabase::addApplicationFont(const QString &fileName)

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

Функция возвращает -1, если шрифт не удалось загрузить.

В настоящее время поддерживаются только TrueType-шрифты, коллекции TrueType-шрифтов и OpenType-шрифты.

Примечание: Добавление шрифтов приложения на платформах Unix/X11 без fontconfig в настоящее время не поддерживается.

Функция была добавлена в Qt 4.2.

См. также addApplicationFontFromData(), applicationFontFamilies() и removeApplicationFont().

[static] int QFontDatabase::addApplicationFontFromData(const QByteArray &fontData)

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

Функция возвращает -1, если шрифт не удалось загрузить.

В настоящее время поддерживаются только TrueType-шрифты и коллекции TrueType-шрифтов.

Примечание: Добавление шрифтов приложения на платформах Unix/X11 без fontconfig в настоящее время не поддерживается.

Функция была добавлена в Qt 4.2.

См. также addApplicationFont(), applicationFontFamilies() и removeApplicationFont().

[static] QStringList QFontDatabase::applicationFontFamilies(int id)

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

Функция была добавлена в Qt 4.2.

См. также addApplicationFont() и addApplicationFontFromData().

bool QFontDatabase::bold(const QString &family, const QString &style) const

Возвращает true, если шрифт с семейством family и стилем style является полужирным; в противном случае возвращает false.

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

QStringList QFontDatabase::families(QFontDatabase::WritingSystem writingSystem = Any) const

Возвращает отсортированный список доступных семейств шрифтов, которые поддерживают writingSystem.

Если семейство существует в нескольких типографиях, возвращаемое имя шрифта имеет вид "family [foundry]". Примеры: "Times [Adobe]", "Times [Cronyx]", "Palatino".

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

QFont QFontDatabase::font(const QString &family, const QString &style, int pointSize) const

Возвращает объект QFont, который имеет семейство family, стиль style и размер шрифта pointSize. Если соответствующий шрифт создать не удалось, возвращается объект QFont, использующий стандартный шрифт приложения.

bool QFontDatabase::isBitmapScalable(const QString &family, const QString &style = QString()) const

Возвращает true, если шрифт с семейством family и стилем style — это масштабируемый растровый шрифт; в противном случае возвращает false.

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

См. также isScalable() и isSmoothlyScalable().

bool QFontDatabase::isFixedPitch(const QString &family, const QString &style = QString()) const

Возвращает true, если шрифт с семейством family и стилем style — фиксированный шаг; в противном случае возвращает false.

bool QFontDatabase::isPrivateFamily(const QString &family) const

Возвращает true, если и только если семейство шрифтов family — частное.

Это происходит, например, в macOS и iOS, где системные шрифты недоступны пользователю. Для полноты картины, QFontDatabase::families() возвращает все семейства шрифтов, включая приватные. Вы должны использовать эту функцию, если разрабатываете элемент управления выбором шрифтов, чтобы скрыть приватные шрифты.

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

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

bool QFontDatabase::isScalable(const QString &family, const QString &style = QString()) const

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

См. также isBitmapScalable() и isSmoothlyScalable().

bool QFontDatabase::isSmoothlyScalable(const QString &family, const QString &style = QString()) const

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

См. также isScalable() и isBitmapScalable().

bool QFontDatabase::italic(const QString &family, const QString &style) const

Возвращает true если шрифт с семейством family и стилем style курсивный; в противном случае возвращает false.

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

QList<int> QFontDatabase::pointSizes(const QString &family, const QString &styleName = QString())

Возвращает список доступных размеров шрифта с семейством family и стилем styleName. Список может быть пустым.

См. также smoothSizes() и стандартные размеры().

[static] bool QFontDatabase::removeAllApplicationFonts()

Удаляет все локальные шрифты приложения, добавленные ранее с помощью addApplicationFont() и addApplicationFontFromData().

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

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

См. также removeApplicationFont(), addApplicationFont() и addApplicationFontFromData().

[static] bool QFontDatabase::removeApplicationFont(int id)

Удаляет загруженный шрифт приложения, идентифицированный по id. Возвращает true если разгрузка шрифта прошла успешно; в противном случае возвращает false.

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

См. также removeAllApplicationFonts(), addApplicationFont() и addApplicationFontFromData().

QList<int> QFontDatabase::smoothSizes(const QString &family, const QString &styleName)

Возвращает размеры шрифта с семейством family и стилем styleName, которые будут выглядеть привлекательно. Список может быть пустым. Для несжимаемых шрифтов и растровых масштабируемых шрифтов, эта функция эквивалентна pointSizes().

См. также pointSizes() и стандартные размеры().

[static] QList<int> QFontDatabase::standardSizes()

Возвращает список стандартных размеров шрифтов.

См. также smoothSizes() и pointSizes().

QString QFontDatabase::styleString(const QFont &font)

Возвращает строку, описывающую стиль шрифта font. Например, "Жирный Курсив", "Жирный", "Курсив" или "Нормальный". Может быть возвращена пустая строка.

QString QFontDatabase::styleString(const QFontInfo &fontInfo)

Возвращает строку, описывающую стиль шрифта fontInfo. Например, "Жирный Курсив", "Жирный", "Курсив" или "Нормальный". Может быть возвращена пустая строка.

QStringList QFontDatabase::styles(const QString &family) const

Возвращает список стилей, доступных для семейства шрифтов family. Некоторые примеры стилей: "Светлый", "Светлый Курсив", "Жирный", "Наклонный", "Полужирный". Список может быть пустым.

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

[static] QFont QFontDatabase::systemFont(QFontDatabase::SystemFont type)

Возвращает наиболее подходящий шрифт для заданного типа type, для корректной интеграции с внешним видом системы.

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

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

int QFontDatabase::weight(const QString &family, const QString &style) const

Возвращает толщину шрифта с семейством family и стилем style. Если такой комбинации семейства и стиля нет, возвращает -1.

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

[static] QString QFontDatabase::writingSystemName(QFontDatabase::WritingSystem writingSystem)

Возвращает названия writingSystem (например, для отображения пользователю в диалоговом окне).

[static] QString QFontDatabase::writingSystemSample(QFontDatabase::WritingSystem writingSystem)

Возвращает строку с образцами символов из writingSystem.

QList<QFontDatabase::WritingSystem> QFontDatabase::writingSystems() const

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

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

QList<QFontDatabase::WritingSystem> QFontDatabase::writingSystems(const QString &family) const

Возвращает отсортированный список систем письма, поддерживаемых данным семейством шрифтов family.

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

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

Spec-Zone.ru

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