gpt4 book ai didi

qt - 在 QML 中重用委托(delegate)组件

转载 作者:行者123 更新时间:2023-12-05 01:47:32 27 4
gpt4 key购买 nike

我在用 QML 设计我的应用程序时遇到了一个奇怪的问题。以下代码有效:

TableView {
itemDelegate: Item {
function a() {}
Loader {}
}
}

我在这个项目委托(delegate)中有一堆函数、属性和加载器,它是一个项目对象。当我尝试在 ListView 中重用此委托(delegate)时出现问题。我不能这样引用它:

Item {
id: myitem
function a() {}
Loader {}
}

TableView {
itemDelegate: myitem
}

error: Unable to assign QQuickItem to QQmlComponent

这是因为 itemDelegate 是一个 Component:

http://qt-project.org/doc/qt-5/qml-qtquick-controls-tableview.html#itemDelegate-prop

因此 QML 可以在嵌入时将 Item 转换为 Component,但在引用时不能。

我不能把它变成一个组件,因为组件不能有函数、加载器、属性等。

如何重用我的委托(delegate)?

最佳答案

通过将项目包装在组件内解决:

Component {
Item{...}
}

关于qt - 在 QML 中重用委托(delegate)组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25062022/

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