gpt4 book ai didi

qt - 如何在 QML 中重用代码

转载 作者:行者123 更新时间:2023-12-02 22:00:35 25 4
gpt4 key购买 nike

我有这段 QML 代码:

   Column {
spacing: units.gu(2)
anchors {
fill: parent
centerIn: parent
}
Row {
spacing: units.gu(4)
...
}
Row {
spacing: units.gu(4)
...
}
Row {
spacing: units.gu(4)
...
}
Row {
spacing: units.gu(4)
...
}
}

关于QML编程的最佳实践,如何重用代码避免公共(public)元素的重复属性?就像在上面的示例中一样,避免使用行“spacing:units.gu(4)”。

最佳答案

将代码放入单独的 qml 文件中,并使用该文件名作为元素。例如。

//文件 MyCustomRow.qml

Row {
spacing: units.gu(4)
...
}

然后在您的其他 qml 文件中:

   Column {
spacing: units.gu(2)
anchors {
fill: parent
centerIn: parent
}
MyCustomRow{

}
MyCustomRow{

}
MyCustomRow{

}
MyCustomRow{

}
}

事实上你可以使用中继器:

Column 
{
spacing: units.gu(2)
anchors
{
fill: parent
centerIn: parent
}

Repeater
{
model : 5
MyCustomRow
{

}
}
}
<小时/>

编辑:

要在单个文件中执行此操作(如评论中所述),您可以使用 Qml Component元素以及 Loader元素:

Column {
spacing: units.gu(2)
anchors {
fill: parent
centerIn: parent
}


Component
{
id : myCustomRow
Row
{
spacing: units.gu(4)
...
}
}

Loader {
sourceComponent : myCustomRow

}
Loader {
sourceComponent : myCustomRow

}
Loader {
sourceComponent : myCustomRow

}
Loader {
sourceComponent : myCustomRow

}
}

关于qt - 如何在 QML 中重用代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17323536/

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