Тип QML FontDialog
Компонент диалога для выбора шрифта. Подробнее...
| Заявление об импорте: | import QtQuick.Dialogs 1.2 |
| С момента: | 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 содержит Rectangle для размещения содержимого диалога, потому что некоторые встраиваемые системы не поддерживают несколько окон верхнего уровня. Когда диалог становится видимым, он автоматически будет обернут в Window, если это возможно, или просто переродится поверх основного окна, если может быть только одно окно.
Документация по свойствам
currentFont : font
Шрифт, который выбрал пользователь.
Это свойство QML было введено в 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/qt-5.9/qml-qtquick-dialogs-fontdialog.html