c++ - 无法将选项卡中的 Qwidgets 复制到新选项卡

标签 c++ qt4 qt-creator

好吧,我已经发疯了一天了,试图找到这个问题的答案。我想要做的是复制一个选项卡中的所有小部件。我想将拷贝转移到新选项卡。想想选项卡中的表单,当您单击“新选项卡”时,它会显示相同的表单但空白。我是 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/

相关文章:

c++ - 奇怪的 QT 应用程序行为

c++ - CUDA、Qt creator 和 Mac

c# - 什么相当于在 C# 中通过地址传递

c++ - 扭曲图像的正确可视化

c++ - boost:如何按名称查找进程的进程ID?

c++ - `#include <iostream>` 和 `-std=c++0x` 坏了

c++ - 获取 QToolbar 当前停靠区域的简单方法

c++ - 如何克服 mmsystem.h 抛出的错误

c++ - 编辑 QDomElement 的值?

c++ - QProcess::execute ("clear") 问题