【发布时间】:2023-07-07 19:39:02
【问题描述】:
我在类的成员函数中启动了QProcess,但该对象(下面的 Pdf 对象)在创建进程后很快就会被销毁。我显然希望在 QProcess 完成时可以使用和调用 slot 函数。我传递了QProcess 指针,所以当它完成时,它也会销毁它。但实际上它完成后并没有真正被销毁。
void PDf::createPDF()
{
PdfSymlink * pdfSymlink = new PdfSymlink( fileName, linkName, myProcess );
connect(myProcess, SIGNAL(finished(int)), pdfSymlink, SLOT(createPdfLink(int)) );
myProcess->start("sh",args); // args is defined now shown in code
}
这是一个重复的代码,被多次调用我希望 QProcess 在完成时被销毁,同样 pdfSymlink 也应该被销毁。我该怎么做?
请注意,我的插槽确实被调用并且它完成了工作,但我想确保在此对象之后进行清理。
【问题讨论】: