FontDialog QML Type
本地字体对话框更多
Import Statement: | import Qt.labs.platform |
Inherits: | |
Status: | Deprecated since 6.9 |
自 Qt.labs.platform 6.9 起,该类型已被弃用。我们强烈建议不要在新代码中使用它。
属性
- currentFont : font
- font : font
- options : flags
详细说明
使用QtQuick.Dialogs::FontDialog 代替。
FontDialog 类型为本地平台字体对话框提供了 QML API。
要显示字体对话框,请构建一个 FontDialog 实例,设置所需的属性,然后调用open() 。currentFont 属性可用于确定对话框中当前选择的字体。只有在接受对话框做出最终选择后,才会更新font 属性。
MenuItem { text: "Font" onTriggered: fontDialog.open() } FontDialog { id: fontDialog currentFont.family: document.font } MyDocument { id: document font: fontDialog.font }
可用性
本机平台字体对话框目前在以下平台上可用:
- iOS
- Linux(使用 GTK+ 平台主题运行时)
- MacOS
在没有本机实现的平台上,Qt Labs Platform 模块使用Qt Widgets 作为备用。因此,使用Qt Labs Platform 模块中类型的应用程序应链接到 QtWidgets 并使用QApplication 而不是QGuiApplication 。
要链接 QtWidgets 库,请在 qmake 项目文件中添加以下内容:
QT += widgets
在main()
中创建QApplication 的实例:
#include <QApplication> #include <QQmlApplicationEngine> int main(int argc, char *argv[]) { QApplication app(argc, argv); QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); return app.exec(); }
注意: Qt.labs 模块中的类型不保证在未来版本中保持兼容。
另请参阅 QtQuick.Dialogs::FontDialog 。
属性文档
currentFont : font |
font : font |
该属性保存最终接受的字体。
与currentFont 属性不同,font
属性不会在用户在对话框中选择字体时更新,而只会在做出最终选择后更新。也就是说,当用户点击OK 接受字体后,该属性才会更新。或者,也可以处理accepted() 信号来获取最终选择。
另请参阅 currentFont 和accepted()。
options : flags |
该属性包含影响对话框外观的各种选项。
默认情况下,所有选项都是禁用的。
应在显示对话框之前设置选项。如果在对话框可见时设置这些选项,则不能保证立即对对话框产生影响(取决于选项和平台)。
可用选项
常量 | 说明 |
---|---|
FontDialog.ScalableFonts | 显示可缩放字体。 |
FontDialog.NonScalableFonts | 显示不可缩放字体。 |
FontDialog.MonospacedFonts | 显示单行字体。 |
FontDialog.ProportionalFonts | 显示比例字体。 |
FontDialog.NoButtons | 不显示OK 和Cancel 按钮(对 "实时对话框 "有用)。 |
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.