本页内容

FontDialog QML Type

原生字体对话框。更多...

Import Statement: import Qt.labs.platform
Inherits:

Dialog

Status: Deprecated since 6.9

自 Qt Labs Platform 6.9 起,此类型已弃用。我们强烈建议不要在新代码中使用它。

属性

详细说明

请改用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 属性不同,currentFont 属性会在用户于对话框中选择字体时实时更新,即使最终选择尚未确定。

另请参阅 font 。

font : font

该属性保存最终被接受的字体。

与currentFont 属性不同,font 属性在用户于对话框中选择字体时不会更新,而仅在最终选择确定后才会更新。也就是说,当用户点击OK 以确认字体时。此外,也可以通过处理accepted()信号来获取最终选择。

另请参阅 currentFont 和accepted()。

options : flags

该属性包含影响对话框外观和风格的各种选项。

默认情况下,所有选项均处于禁用状态。

应在显示对话框之前设置这些选项。在对话框可见时进行设置,不能保证会立即对对话框产生影响(具体取决于选项和平台)。

可用选项:

常量描述
FontDialog.ScalableFonts显示可缩放字体。
FontDialog.NonScalableFonts显示不可缩放字体。
FontDialog.MonospacedFonts显示等宽字体。
FontDialog.ProportionalFonts显示比例字体。
FontDialog.NoButtons不显示OK 和Cancel 按钮(适用于“实时对话框”)。

© 2026 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.