我开始在类的成员函数QProcess
QProcess
但该对象(下面的Pdf对象)很快会在创建过程后被销毁。我显然希望在QProcess完成时插槽函数可用并被调用。我通过QProcess
指针,所以当它结束时,它也会破坏它。但实际上它在完成时并不真正被破坏。如何摧毁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
}
这是一个重复的代码被称为很多很多timesI希望当它完成了QProcess中得到破坏,同样pdfSymlink应该被销毁。我怎样才能做到这一点?
请注意我的插槽没有被调用,它做的工作,但我想确保我清理后,此对象。
这没有工作,我想'deleteLater'是不像宣传的那样。它实际上会在QProcess完成之前销毁错误消息“QProcess:销毁进程(”sh“)仍在运行时。”如果我删除了'deleteLater'调用,则我的QProcess会完成并生成输出。 – zar
当我回家时,我会尝试一些东西,也许“完成”不是最好的信号使用。 – dsonck92
谢谢,我有一个正在工作的解决方案,我想我会张贴,所以它可能会帮助其他人,但如果你知道更好,让我知道 – zar