gpt4 book ai didi

qt - 如何将 QML 代码拆分为多个文件?

转载 作者:行者123 更新时间:2023-12-01 23:51:44 24 4
gpt4 key购买 nike

我刚刚开始使用 QML,并看到我有一堆组件,如下所示:

Window {
....
property Component dateTumbler: ControlView {
// Definition follows
}

property Component timeTumbler: ControlView {
// More definition follows
}

// More controls
}

这使得主 QML 文件非常长并且编辑和维护起来很麻烦。我尝试将其分成不同的文件,如下所示:

// DateTumblerView.qml
component: DateTumblerView { // Not sure how to inherit here..
// Definition here
}

我尝试像这样使用它:

property component dateTumbler: DateTumblerView {}

但是,这永远不会起作用,并且永远找不到 DateTumblerView 。我不确定我这样做是否正确。

[编辑]ControlView定义如下:

import QtQuick 2.2
import QtQuick.Controls 1.1
import QtMultimedia 5.5

Rectangle {
id: view
property bool darkBackground: false

Text {
id: textSingleton
}

SoundEffect {
id: playCalSound
source: "qrc:/sound/test.wav"
}
}

[编辑结束]

将 QML 代码拆分为多个文件的正确方法是什么?

最佳答案

您的DateTumblerView.qml文件应如下所示:

ControlView {
// More definition follows
}

你会这样使用它:

property Component dateTumbler: DateTumblerView {}

或者:

Component {
id: dateTumbler

DateTumblerView {}
}

或者如果您想直接使用它:

DateTumblerView {}

这与您的代码仅在一个文件中时几乎相同。任何时候<Type> {} ,您将继承该类型并可以设置或添加新的属性、函数和子组件。不同之处在于它位于单独的文件中,具有特定的名称(文件的名称),并且您可以根据需要多次重复使用该代码。

更多详情,请参阅 Defining Custom QML Types for Re-use .

关于qt - 如何将 QML 代码拆分为多个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35118900/

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