Класс QFontDialog
Класс QFontDialog предоставляет виджет диалога для выбора шрифта. Подробнее...
| Заголовок: | #include <QFontDialog> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Наследует: | QDialog |
Публичные типы
| Перечисление | FontDialogOption { НетКнопок, НеИспользоватьНативныйДиалог, МасштабируемыеШрифты, НеМасштабируемыеШрифты, МоноширинныеШрифты, ПропорциональныеШрифты } |
| флаги | 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 не равен нулю, его значение устанавливается в 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 не равен нулю, его значение устанавливается в 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; в противном случае, отключает заданный option.
См. также параметры и testOption().
[override virtual] void QFontDialog::setVisible(bool visible)
Переопределяет: QDialog::setVisible(bool visible).
bool QFontDialog::testOption(QFontDialog::FontDialogOption option) const
Возвращает true если заданный option включён; в противном случае возвращает false.
См. также параметры и setOption().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qfontdialog.html