错误:' QDialog :: QDialog(const QDialog&)'是私人的

时间:2012-12-06 19:06:53

标签: qt

由于标题代表我在此代码段的内容中收到此错误:

class NewTaskDialog : public QDialog

之前工作得很好,但是当我添加方法时错误开始显现:

void MainWindow::saveButtonClicked(NewTaskDialog dialogWindow)

2 个答案:

答案 0 :(得分:0)

使用指向QDialog的指针。 QDialog类将复制构造函数定义为private,以防止您按值传递QDialog,因为您永远不应该这样做。

What's the use of the private copy constructor in c++

答案 1 :(得分:0)

saveButtonClicked的语法会创建传递给它的NewTaskDialog的副本。 You can't copy QWidgets除非您创建一个明确提供您所寻求的确切功能的克隆功能。 QWidget的构造函数是私有的。

您必须传递指针

void MainWindow::saveButtonClicked(NewTaskDialog* dialogWindow)

或参考。使用指针是标准的Qt方式。

相关问题