好吧,我已经发疯了一天了,试图找到这个问题的答案。我想要做的是复制一个选项卡中的所有小部件。我想将拷贝转移到新选项卡。想想选项卡中的表单,当您单击“新选项卡”时,它会显示相同的表单但空白。我是 QTCreator 的新手,所以任何指示都会很棒。
提前致谢!
最佳答案
任何派生自 QObject
的类都是 not copyable .如果你想“复制”一个小部件,那么模型 View 架构可能更适合你有两个不同的 View 来表示模型。
另一个想法:您可以让每个需要可复制的类创建一个状态对象,然后可以使用该对象在拷贝上设置状态。
因为您只是想在多个地方显示相同的表单,所以您可以这样做。
首先,创建你的表单,我假设它叫做 MyForm
:
class MyForm: QWidget {...};
然后,在父表单中:
void ContainerForm::ContainerForm(...) {
connect(pbAddNewTab, SIGNAL(clicked()), SLOT(addNewTab()));
}
void ContainerForm::addNewTab() {
tabWidget->addTab(new MyForm(this));
}
您可能需要拉出 new
以便设置信号和槽等。
关于c++ - 无法将选项卡中的 Qwidgets 复制到新选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7492443/