我有以下的源代码时,另一个堆对象被删除堆对象:如何删除
void Processmethod()
{
QDialog *ProcessMessage = new QDialog;
Ui::DialogProcessMessage *Dialog = new Ui::DialogProcessMessage();
Dialog->setupUi(ProcessMessage); //polymorphy
ProcessMessage->setModal(true);
ProcessMessage->setAttribute(Qt::WA_DeleteOnClose);
connect(Dialog->pushButtonAbort, SIGNAL(clicked()), &Prozess, SLOT(kill()));
connect(&Prozess6, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(helper()));
connect(&Prozess6, SIGNAL(error(QProcess::ProcessError)), this, SLOT(helper()));
connect(this,SIGNAL(enablePushButton(bool)),Dialog->pushButtonClose, SLOT(setEnabled(bool)));
Prozessmeldung->setModal(true);
ProcessMessage->show();
processmethodONE();
}
如何删除堆对象对话框最好当堆对象ProcessMessage的将被删除(这在关闭时被删除)?两个对象都必须在堆上创建。此外,类“Ui :: DialogProcessMessage”是由ui文件直接创建的,因此,每次更改ui文件时,其中的任何更改都会被删除。
问题是,UI :: DialogProcessMessage直接由UI文件创建和更改您的加载UI文件的类UI时:: DialogProcessMessage会丢失。此外,我不知道如何手动删除对象对话框,因为它需要使用,直到对象ProcessMessage关闭。并且:ProcessMessage是一个我无法定义的QDialogs类对象。 – Streight 2012-04-18 14:52:20