Spec-Zone.ru › Qt 5.11

Класс QFontDatabase

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

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

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

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

Перечисление SystemFont { GeneralFont, FixedFont, TitleFont, SmallestReadableFont }
Перечисление WritingSystem { Any, Latin, Greek, Cyrillic, ..., 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)

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

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

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

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

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

            QString sizes;
            foreach (int points, database.smoothSizes(family, style))
                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() и standardSizes().

[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() и standardSizes().

[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. Некоторые примеры стилей: "Light", "Light Italic", "Bold", "Oblique", "Demi". Список может быть пустым.

См. также 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/archives/qt-5.11/qfontdatabase.html

Spec-Zone.ru

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