3
使用QProcess
來實現更新程序我從我的應用程序啓動一個分離的進程並立即退出。在衍生更新程序中,我將根據需要覆蓋文件,然後再次啓動主應用程序。問題是,如果主應用程序在更新程序開始覆蓋它們之前沒有「足夠快地」關閉以釋放所有已加載的庫,則文件的更新有時可能會失敗。一種方法是等待1秒等任意時間,然後開始更新,但我寧願實施一些實際檢查父進程是否不再運行的東西。當我產卵時,我可以傳遞它的ID,但是這並沒有真正減少它,因爲似乎沒有功能,如bool QProcess::isRunning(qint64 pid)
。我也不認爲有可能連接信號和插槽跨應用程序...任何想法?如何啓動分離進程並等待父進程終止?
使用第三方解決方案可以在應用程序之間連接信號和插槽。來自Qt開發人員日(2014年柏林)的示例:https://www.youtube.com/watch?v=Lhv-rQ5etzo –