我有以下的源代碼時,另一個堆對象被刪除堆對象:如何刪除
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