Spec-Zone.ru › Qt

Класс QFontDialog

Класс QFontDialog предоставляет диалоговое окно для выбора шрифта. Подробнее...

Заголовок: #include <QFontDialog>
CMake: find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Наследует: QDialog
  • Список всех членов, включая унаследованные

Типы публичного доступа

Перечисление FontDialogOption { NoButtons, DontUseNativeDialog, ScalableFonts, NonScalableFonts, MonospacedFonts, ProportionalFonts }
Флаги FontDialogOptions

Свойства

  • currentFont : QFont
  • options : FontDialogOptions

Функции публичного доступа

QFontDialog(const QFont &initial, QWidget *parent = nullptr)
QFontDialog(QWidget *parent = nullptr)
QFont currentFont() const
void open(QObject *receiver, const char *member)
QFontDialog::FontDialogOptions options() const
QFont selectedFont() const
void setCurrentFont(const QFont &font)
void setOption(QFontDialog::FontDialogOption option, bool on = true)
void setOptions(QFontDialog::FontDialogOptions options)
bool testOption(QFontDialog::FontDialogOption option) const

Переопределённые функции публичного доступа

virtual void setVisible(bool visible) override

Сигналы

void currentFontChanged(const QFont &font)
void fontSelected(const QFont &font)

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

QFont getFont(bool *ok, const QFont &initial, QWidget *parent = nullptr, const QString &title = QString(), QFontDialog::FontDialogOptions options = FontDialogOptions())
QFont getFont(bool *ok, QWidget *parent = nullptr)

Переопределённые защищённые функции

virtual void changeEvent(QEvent *e) override
virtual void done(int result) override

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

Диалоговое окно шрифта создаётся с помощью одной из статических функций getFont().

Примеры:

bool ok;
QFont font = QFontDialog::getFont(
                &ok, QFont("Helvetica [Cronyx]", 10), this);
if (ok) {
    // the user clicked OK and font is set to the font the user selected
} else {
    // the user canceled the dialog; font is set to the initial
    // value, in this case Helvetica [Cronyx], 10
}

Диалоговое окно также можно использовать для непосредственной установки шрифта виджета:

myWidget.setFont(QFontDialog::getFont(0, myWidget.font()));

Если пользователь нажимает кнопку «ОК», выбранный шрифт будет использован для myWidget, а если нажимает «Отмена», используется исходный шрифт.

A font dialog in the Fusion widget style.

См. также QFont, QFontInfo, QFontMetrics, QColorDialog, QFileDialog и Пример стандартных диалоговых окон.

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

Перечисление QFontDialog::FontDialogOptionФлаги QFontDialog::FontDialogOptions

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

Например, оно позволяет указать, какой тип шрифта должен отображаться. Если параметры не заданы, будут отображены все доступные шрифты.

Обратите внимание, что параметры фильтрации шрифтов могут быть недоступны на некоторых платформах (например, Mac). Они всегда поддерживаются неродным диалоговым окном (используется в Windows или Linux).

Константа Значение Описание
QFontDialog::NoButtons 0x00000001 Не отображать кнопки «ОК» и «Отмена». (Полезно для «живых диалоговых окон».)
QFontDialog::DontUseNativeDialog 0x00000002 Использовать стандартное диалоговое окно шрифтов Qt на Mac вместо системного диалога Apple.
QFontDialog::ScalableFonts 0x00000004 Отображать масштабируемые шрифты
QFontDialog::NonScalableFonts 0x00000008 Отображать не масштабируемые шрифты
QFontDialog::MonospacedFonts 0x00000010 Отображать шрифты с фиксированным интервалом
QFontDialog::ProportionalFonts 0x00000020 Отображать пропорциональные шрифты

Тип FontDialogOptions является псевдонимом для QFlags<FontDialogOption>. Он хранит логическое ИЛИ сочетание значений FontDialogOption.

См. также options, setOption() и testOption().

Документация свойств

currentFont : QFont

Это свойство содержит текущий шрифт диалогового окна.

Функции доступа:

QFont currentFont() const
void setCurrentFont(const QFont &font)

Сигнал уведомления:

void currentFontChanged(const QFont &font)

options : FontDialogOptions

Это свойство содержит различные параметры, которые влияют на внешний вид диалогового окна.

По умолчанию все параметры отключены.

Параметры должны быть установлены до показа диалогового окна. Их установка во время отображения диалогового окна не гарантирует немедленного эффекта на диалоговое окно (в зависимости от параметра и платформы).

Функции доступа:

QFontDialog::FontDialogOptions options() const
void setOptions(QFontDialog::FontDialogOptions options)

См. также setOption() и testOption().

Документация функций членов

QFontDialog::QFontDialog(const QFont &initial, QWidget *parent = nullptr)

Конструирует стандартное диалоговое окно шрифта с заданным parent и указанным начальным шрифтом initial.

QFontDialog::QFontDialog(QWidget *parent = nullptr)

Конструирует стандартное диалоговое окно шрифта.

Используйте setCurrentFont(), чтобы установить начальные атрибуты шрифта.

Параметр parent передаётся в конструктор QDialog.

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

[signal] void QFontDialog::currentFontChanged(const QFont &font)

Этот сигнал испускается при изменении текущего шрифта. Новый шрифт задаётся параметром font.

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

Примечание: Сигнал-уведомление для свойства currentFont.

См. также currentFont, fontSelected() и selectedFont().

[signal] void QFontDialog::fontSelected(const QFont &font)

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

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

См. также selectedFont(), currentFontChanged() и currentFont.

[override virtual protected] void QFontDialog::changeEvent(QEvent *e)

Переопределяет: QWidget::changeEvent(QEvent *event).

QFont QFontDialog::currentFont() const

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

Примечание: Функция-получатель для свойства currentFont.

См. также setCurrentFont() и selectedFont().

[override virtual protected] void QFontDialog::done(int result)

Переопределяет: QDialog::done(int r).

Закрывает диалоговое окно и устанавливает его код результата в result. Если это диалоговое окно показано с помощью exec(), done() вызывает завершение локального цикла событий, и exec() возвращает result.

См. также QDialog::done().

[static] QFont QFontDialog::getFont(bool *ok, const QFont &initial, QWidget *parent = nullptr, const QString &title = QString(), QFontDialog::FontDialogOptions options = FontDialogOptions())

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

Если пользователь нажмёт ОК, возвращается выбранный шрифт. Если пользователь нажмёт Отмена, возвращается шрифт initial.

Диалоговое окно создаётся с заданным parent и опциями, указанными в options. title отображается в качестве заголовка окна диалогового окна, а initial — как изначально выбранный шрифт. Если параметр ok не равен null, его значение устанавливается в true, если пользователь нажимает ОК, и в false, если он нажимает Отмена.

Примеры:

bool ok;
QFont font = QFontDialog::getFont(&ok, QFont("Times", 12), this);
if (ok) {
    // font is set to the font the user selected
} else {
    // the user canceled the dialog; font is set to the initial
    // value, in this case Times, 12.
}

Диалоговое окно также можно использовать для непосредственного задания шрифта виджета:

myWidget.setFont(QFontDialog::getFont(0, myWidget.font()));

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

Предупреждение: Не удаляйте parent во время выполнения диалогового окна. Если вы хотите это сделать, вы должны создать диалоговое окно самостоятельно, используя один из конструкторов QFontDialog.

[static] QFont QFontDialog::getFont(bool *ok, QWidget *parent = nullptr)

Это перегруженная функция.

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

Если пользователь нажмёт ОК, возвращается выбранный шрифт. Если пользователь нажмёт Отмена, возвращается шрифт по умолчанию Qt.

Диалоговое окно создаётся с заданным parent. Если параметр ok не равен null, его значение устанавливается в true, если пользователь нажимает ОК, и в false, если он нажимает Отмена.

Пример:

bool ok;
QFont font = QFontDialog::getFont(&ok, this);
if (ok) {
    // font is set to the font the user selected
} else {
    // the user canceled the dialog; font is set to the default
    // application font, QApplication::font()
}

Предупреждение: Не удаляйте parent во время выполнения диалогового окна. Если вы хотите это сделать, вы должны создать диалоговое окно самостоятельно, используя один из конструкторов QFontDialog.

void QFontDialog::open(QObject *receiver, const char *member)

Открывает диалоговое окно и подключает его сигнал fontSelected() к слоту, указанному receiver и member.

Сигнал будет отключён от слота при закрытии диалогового окна.

QFont QFontDialog::selectedFont() const

Возвращает шрифт, выбранный пользователем нажатием кнопки ОК или эквивалентной.

Примечание: Этот шрифт не всегда совпадает со шрифтом, хранящимся в свойстве currentFont, так как пользователь может выбирать разные шрифты перед окончательным выбором.

void QFontDialog::setCurrentFont(const QFont &font)

Устанавливает шрифт, выделенный в QFontDialog, на заданный шрифт font.

Примечание: Функция-установщик для свойства currentFont.

См. также currentFont() и selectedFont().

void QFontDialog::setOption(QFontDialog::FontDialogOption option, bool on = true)

Устанавливает заданную опцию option в состояние включения, если on равно true; иначе, отключает заданную опцию.

См. также options и testOption().

[override virtual] void QFontDialog::setVisible(bool visible)

Переопределяет: QDialog::setVisible(bool visible).

bool QFontDialog::testOption(QFontDialog::FontDialogOption option) const

Возвращает true, если заданная опция option включена; иначе возвращает false.

См. также options и setOption().

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

Spec-Zone.ru

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