如何接收 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
,因此将以默认值开始。