Тип QML FontDialog
Компонент диалога для выбора шрифта. Подробнее...
| Оператор импорта: | import QtQuick.Dialogs 1.3 |
| С момента: | Qt 5.2 |
Свойства
- currentFont : шрифт
- font : шрифт
- modality : Qt::WindowModality
- monospacedFonts : bool
- nonScalableFonts : bool
- proportionalFonts : bool
- scalableFonts : bool
- title : строка
- visible : bool
Методы
Подробное описание
FontDialog позволяет пользователю выбрать шрифт. Диалог по умолчанию невидим. Сначала необходимо установить нужные свойства, а затем установить visible в true или вызвать open().
Вот минимальный пример открытия диалога выбора шрифта и выхода после выбора пользователем шрифта:
import QtQuick 2.2
import QtQuick.Dialogs 1.1
FontDialog {
id: fontDialog
title: "Please choose a font"
font: Qt.font({ family: "Arial", pointSize: 24, weight: Font.Normal })
onAccepted: {
console.log("You chose: " + fontDialog.font)
Qt.quit()
}
onRejected: {
console.log("Canceled")
Qt.quit()
}
Component.onCompleted: visible = true
} Окно FontDialog автоматически является временным для родительского окна. Поэтому, независимо от того, объявляете ли вы диалог внутри Item или внутри Window, диалог будет отображаться по центру над окном, содержащим элемент, или над окном, которое вы объявили.
Реализация FontDialog будет платформенным диалогом выбора шрифта, если это возможно. Если это невозможно, то будет попытка создать QFontDialog. Если и это невозможно, то будет использована реализация QML, DefaultFontDialog.qml. В этом случае вы можете настроить внешний вид, отредактировав этот файл. DefaultFontDialog.qml содержит прямоугольник для размещения содержимого диалога, так как некоторые встраиваемые системы не поддерживают несколько окон верхнего уровня. Когда диалог становится видимым, он автоматически будет обернут в окно, если это возможно, или просто переродится поверх основного окна, если может быть только одно окно.
Документация по свойствам
currentFont : font
Шрифт, выбранный пользователем.
Это свойство было добавлено в Qt 5.3.
font : font
Шрифт, выбранный и принятый пользователем.
modality : Qt::WindowModality
Определяет, должен ли диалог отображаться как модальный относительно окна, содержащего родительский элемент Item диалога, модальный относительно всего приложения или немодальный.
По умолчанию значение равно Qt.NonModal.
Модальность не означает, что есть какие-либо блокирующие вызовы ожидания принятия или отклонения диалога; это только означает, что пользователю будет запрещено взаимодействовать с родительским окном и/или окнами приложения одновременно.
Вероятно, вам нужно написать обработчик onAccepted, если вы хотите изменить шрифт после того, как пользователь нажал кнопку «ОК», или обработчик onCurrentFontChanged, если вы хотите отреагировать на каждое изменение, которое пользователь вносит во время открытия диалога.
monospacedFonts : bool
Определяет, будут ли отображаться шрифты с фиксированным размером.
nonScalableFonts : bool
Определяет, будут ли отображаться не масштабируемые шрифты.
proportionalFonts : bool
Определяет, будут ли отображаться пропорциональные шрифты.
scalableFonts : bool
Определяет, будут ли отображаться масштабируемые шрифты.
title : string
Заголовок окна диалога.
visible : bool
Это свойство содержит значение, указывающее, является ли диалог видимым. По умолчанию оно равно false.
См. также modality.
Документация по методам
void close()
Закрывает диалог.
void open()
Отображает диалог пользователю. Эквивалентно установке visible в true.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qml-qtquick-dialogs-fontdialog.html