我想创建组件模板,这意味着我在一个单独的QML文件中定义了我自己的MyButton类型,并且我还想定义几个单例实例,例如:
Predefined.qml:
pragma Singleton
[...]
property MyButton quitButton : quitButtonItem
MyButton {
id: quitButtonItem
text: qsTr("Quit")
imagesource : "qrc:/icons/quit.png"
}
然后将其用作:
Predefined { id: predefined }
Rectangle {
predefined.quitButton {
onClicked: console.log ("quit pressed.");
anchors.bottom : parent.bottom
anchors.horizontalCenter : parent.horizontalCenter
}
}
a。)我不想为此使用装载机->过度杀伤 b。)确实不想将想要定义的组件定义为我的QML文件 克隆(例如QuitButton.qml,BackButtonQml等)
有什么想法要完成吗? 谢谢
答案 0 :(得分:1)
在没有Loader
的情况下从QML声明式实例化对象的唯一方法是为每个组件创建一个新文件。
对于您的用例,我的建议只是创建文件。 另外,您似乎正在做某种导航栏。将其统一在一个组件中怎么办?
我看到两种方法:在您的所有应用程序中使用单个全局导航栏(例如,在ApplicationWindow
的{{1}}中),或者在您实现您的应用程序时使用类似header
的通用类型栏,然后直接从中继承您的实际内容。
我个人采用了第一个解决方案。