好的,所以我一直在疯狂地试图找到一天的答案。我想要做的是在选项卡中复制所有小部件。我想将副本传输到新选项卡。想一下选项卡中的表单,当您单击“新建选项卡”时,它会显示相同的表单但空白。我是QTCreator的新手,所以任何指针都会很棒。
提前致谢!
答案 0 :(得分:2)
任何源自QObject
的类都是not copyable。如果你想“复制”一个小部件,那么在你有两个代表模型的不同视图的情况下,模型 - 视图架构可能更合适。
另一个想法:你可以让每个需要可复制的类创建一个状态对象,然后可以用它来设置副本上的状态。
由于您只是尝试在多个位置显示相同的表单,因此您可以执行以下操作。
首先,创建我认为称为MyForm
的表单:
class MyForm: QWidget {...};
然后,在父表格中:
void ContainerForm::ContainerForm(...) {
connect(pbAddNewTab, SIGNAL(clicked()), SLOT(addNewTab()));
}
void ContainerForm::addNewTab() {
tabWidget->addTab(new MyForm(this));
}
您可能需要拔出new
,以便设置信号和插槽等。
答案 1 :(得分:0)
如果新表单为空,则表示不是副本。您需要做的就是创建表单小部件的新实例。