【发布时间】:2017-04-11 08:44:39
【问题描述】:
我想在 Qt 的两个不同布局中使用相同的小部件。这是我的代码:
QWidget *myWidget = new QWidget;
QFormLayout *layout1 = new QFormLayout;
layout1->addWidget(myWidget);
QFormLayout *layout2 = new QFormLayout;
layout2->addWidget(myWidget);
小部件在layout2 中应有的样子,但在layout1 中不可见。
一种解决方法是创建两个不同的myWidget 小部件,但我想知道是否有更好的方法。
为什么会发生这种情况,正确的做法是什么?
【问题讨论】:
-
您是否希望小部件同时显示在两个不同的位置?
-
@VaughnCato 是的(虽然两种布局不会同时显示)
-
如果您觉得需要将同一个小部件放在多个布局上,也许您应该考虑在模型/视图设计中拆分它,使用两个指向同一模型的小部件。