【发布时间】:2015-11-07 06:09:25
【问题描述】:
有没有办法递归地创建 QML 组件?我正在实现一个聊天,用户可以在其中向另一个用户重新发送消息,因此我希望看到包含另一条消息的消息组件。像这样:
>my message
>>forwarded message1
>>>forwarded message1.2
>>forwarded message2
但我不知道此类转发消息的最大深度,因此我不能只为每种情况创建原型。
现在我使用Loader组件递归加载组件,但有2个错误。首先,它非常慢,所以如果我在聊天中有 100 条消息并且转发了很多消息,加载页面最多需要 2 秒。
其次,滚动条的行为很奇怪 - Loader 组件(据我所知)在隐藏时卸载我的组件,所以当我滚动整体时 height 会发生变化。
也许有人知道递归创建项目的好方法,或者关于如何使这部分代码工作得更快并且没有滚动错误的一些想法?
到目前为止,我只有一个想法 - 将该组件移动到 C++ 代码中,这样我就可以在没有 Loader 组件的情况下创建项目。
【问题讨论】:
-
请向您展示我们可以帮助您的代码。
标签: javascript qt qml qtquick2