3
使用QProcess
来实现更新程序我从我的应用程序启动一个分离的进程并立即退出。在衍生更新程序中,我将根据需要覆盖文件,然后再次启动主应用程序。问题是,如果主应用程序在更新程序开始覆盖它们之前没有“足够快地”关闭以释放所有已加载的库,则文件的更新有时可能会失败。一种方法是等待1秒等任意时间,然后开始更新,但我宁愿实施一些实际检查父进程是否不再运行的东西。当我产卵时,我可以传递它的ID,但是这并没有真正减少它,因为似乎没有功能,如bool QProcess::isRunning(qint64 pid)
。我也不认为有可能连接信号和插槽跨应用程序...任何想法?如何启动分离进程并等待父进程终止?
使用第三方解决方案可以在应用程序之间连接信号和插槽。来自Qt开发人员日(2014年柏林)的示例:https://www.youtube.com/watch?v=Lhv-rQ5etzo –