首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在QML中找到递归重排的源

如何在QML中找到递归重排的源
EN

Stack Overflow用户
提问于 2020-07-16 05:56:53
回答 1查看 1.4K关注 0票数 0

我将QML应用程序从QT5.12更新到QT5.15。

我的应用程序使用以下代码加载其qml源:

代码语言:javascript
复制
auto* engine = new QQmlApplicationEngine(this);
...
engine->load(QUrl("qrc:/main.qml"));

当调用engine->load时,我现在得到以下警告,QT5.12中没有该警告:

Qt快速布局:检测到递归重新排列。两次迭代后中止。

如何找到此警告的来源以便修复我的代码?

编辑:

经两次否决后,我想澄清我的问题的原意。

我有一个非常大的应用程序,它正在加载一个很大的qml文件树,其中main.qml是主窗口。我发布的警告来自“应用程序输出”窗格,对导致警告的源文件位置没有任何提示。

我正在寻找一种方法,以找到源文件的位置,造成这种警告。我认为,询问如何实现这一点是合理的,而且我相信,对于许多将qml代码更新为QT5.15的人来说,这是一个通用的问题。正是在这样一个问题的本质上,无法提供一个独立的例子(如评论中所要求的)。

EN

回答 1

Stack Overflow用户

发布于 2020-11-05 21:37:26

这是一个完全合理的问题--警告是模棱两可的,所以你必须发布整个代码库才能得到最小的可行性。Afaik没有合理的方法以编程方式定位违规位,而是查找嵌套在同一类型布局组件中的布局组件(RowLayout、ColumnLayout、GridLayout);这些都是常见的违法者。例如:

代码语言:javascript
复制
ColumnLayout {

    ColumnLayout {
        id: childColumnLayout

        // this is generally the cause of your grief
        // changing the the child ColumnLayout to a Column usually fixes it for me

    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62928391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档