Класс 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, а если нажимает «Отмена», используется исходный шрифт.
См. также 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