出错原因:
QProcess 执行start()后没有进行正常close(),所以在执行析构函数的时候就会报这个错;并不一定向网上说的创建指针等等。。
代码分析:文章来源:https://www.toymoban.com/news/detail-733872.html
UPreciseWindow::UPreciseWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::UPreciseWindow),m_pProcess(NULL)
{
ui->setupUi(this);
m_pProcess = new QProcess(this);
connect(m_pProcess, &QProcess::started, this, &UPreciseWindow::on_processStarted);
//查找程序是否已经运行
m_pProcess->waitForFinished(); //等待命令执行结束
QString cmd="F:/UPrecise1.5/UPrecise.exe";
m_pProcess->start(cmd);
this->setWindowIcon(QIcon(":/new/resources/logo.png"));
}
UPreciseWindow::~UPreciseWindow()
{
delete ui;
m_pProcess->close();
delete m_pProcess;
m_pProcess=nullptr;
}
出错的原因就是析构函数中没有把QProcess的对象进行关闭,m_pProcess->close();文章来源地址https://www.toymoban.com/news/detail-733872.html
到了这里,关于QProcess: Destroyed while process (“F:\\UPrecise1.5\\UPrecise.exe“) is still running.的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!