我想在 Qt 的两个不同布局中使用相同的小部件。这是我的代码:
QWidget *myWidget = new QWidget;
QFormLayout *layout1 = new QFormLayout;
layout1->addWidget(myWidget);
QFormLayout *layout2 = new QFormLayout;
layout2->addWidget(myWidget);
小部件应该是这样的layout2
但在以下位置不可见layout1
.
解决方法是创建两个不同的myWidget
小部件,但我想知道是否有更好的方法。
为什么会发生这种情况以及执行此操作的正确方法是什么?
addWidget
所有权转让自layout1
to layout2
.
对象树是 Qt 用来组织对象的方式。举个例子,一个有父项的项显示在其父级的坐标系中,并被其父级的边界以图形方式裁剪.
您可以尝试解决该限制,但这不是您应该使用 Qt 的方式,我不会建议您这样做。
如果您需要两个小部件,请创建两个小部件。这就是 Qt 的设计方式和使用方式。
See here有关 Qt 对象模型的更多详细信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)