gpt4 book ai didi

qml - 如何内联定义 QML 组件并覆盖属性?

转载 作者:行者123 更新时间:2023-12-05 08:15:28 29 4
gpt4 key购买 nike

我正在尝试做一些看似简单的事情,但失败了:定义一个简单的内联文本格式组件,然后用不同的文本多次实例化它。这是代码

Item {
.
.
.
Component {
id: favButtonLabelText
Text {
text: "Blah!"
color: StyleSingleton.xNavPrimaryText
font.family: StyleSingleton.xNavTextFont
font.pointSize: 28
}
}
.
.
.
Loader { sourceComponent: favButtonLabelText; text: "Diameter" }

在 Loader 行,文本属性无效。尝试在组件上定义属性或别名会被拒绝,并显示“组件对象无法声明新属性”。

我在文档中找到的唯一示例显示了覆盖在内联组件中定义的 Rectanglex 属性。在我看来,覆盖 Text 元素的 text 属性是类似的。

我该怎么做?

最佳答案

由于 Loader 将自己设置为其正在加载的组件的上下文对象,您可以在其中定义一个属性并在加载的 Item 中使用它。
但是,您必须使用您的项目未使用的属性名称,否则它将被您的项目自己的属性遮蔽,并且没有简单的方法来显式访问上下文属性。

Component {
id: favButtonLabelText
Text {
text: foobar
}
}
Loader {
sourceComponent: favButtonLabelText
property string foobar: "Diameter"
}

关于qml - 如何内联定义 QML 组件并覆盖属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44294444/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com