获取小部件的 QML 默认值

获取小部件的 QML 默认值

如何接收 TextEdit 等的默认值font.pointerSize

我想创建一个自定义小部件,它使用一些默认值,但允许从外部设置一些值。因此,据我所知,有必要添加一个property可从外部访问的变量(在此示例中为fontPointerSize)。我希望此默认属性成为现有 QML 小部件的默认值。

主文件

import QtQuick 2.0

Rectangle {
    id: background;
    color: "white";
    width: 200;
    height: 200;

    MyWidget {
        id: widget
        // fontPointerSize: 14
        anchors.topMargin: 8
        anchors.top: picker.bottom
    }
}

我的Widget.qml

import QtQuick 2.0

Rectangle {
    width: 100
    height: 26
    color: "orange"

    // how to get Text font.pointerSize default?
    property real fontPointerSize: 11

    Text {
        id: name
        text: qsTr("hello world")
        font.pointSize: fontPointerSize
        anchors.fill: parent

        horizontalAlignment: Text.AlignHCenter
        verticalAlignment: Text.AlignVCenter
    }
}

答案1

你想使用属性别名。 在我的Widget.qml, 使用

property alias fontPointerSize: name.font.pointSize

然后,该fontPointerSize属性将成为元素font.pointSize的属性Text,因此将以默认值开始。

相关内容