Qt Quick - FontDialog字体对话框

Q 理论使用总结

  • 一、概述
  • 二、使用
  • 三、常用属性介绍

一、概述

FontDialog允许用户选择字体。对话框最初是不可见的。你需要首先按需设置属性,然后将visible设置为true或调用open()。

FontDialog窗口对于其父窗口来说是自动临时的。因此,无论您在项目中还是在窗口中声明对话框,对话框都将显示在包含项目的窗口或您声明的窗口的中央。

FontDialog的实现将是一个平台字体对话框。如果这失败了,那么它将尝试实例化一个QFontDialog。如果这也失败了,那么它将回落到一个QML实现,DefaultFontDialog.qml。

在这种情况下,您可以通过编辑此文件来定制外观。DefaultFontDialog。qml包含一个矩形来保存对话框的内容,因为某些嵌入式系统不支持多个顶级窗口。当对话框变得可见时,如果可能的话,它将自动包装在一个窗口中,如果只能有一个窗口,则简单地在主窗口的顶部重新添加父元素。

二、使用

下面是一个打开字体对话框并在用户选择字体后退出的最小示例:
Qt Quick - FontDialog字体对话框_第1张图片

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Layouts 1.3
import QtQuick.Controls 2.5
import QtQuick.Dialogs 1.3

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    Button{
        id:button
        text: "字体选择"

        anchors.centerIn: parent

        onClicked: {
            fontDialog.open();
        }

        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)
                  button.font = fontDialog.font;
              }
              onRejected: {
                  console.log("Canceled")
              }
          }
    }
}

三、常用属性介绍

modality : Qt::WindowModality

  • 就是模态对话框的标志,默认是 Qt.NonModal.

你可能感兴趣的:(#,▶,QML笔记,FontDialog,字体选择框,qquick,qt5)