如圖所示啓動使用subprocess.Popen()的過程後,我想創建一個帶有「Abort」按鈕的繁忙窗口(wx.Dialog)。這按預期工作;然而,在進程需要完成時間的情況下,繁忙窗口應該被銷燬。在下面顯示的代碼中,這不會發生?無法破壞wxpython中的wx.Dialog
import subprocess
import wx
ProcessToCall = [Some, process, with, some, arguments]
Process = subprocess.Popen(ProcessToCall)
BusyDialog = wx.Dialog(...)
if BusyDialog.ShowModal() == wx.ID_CANCEL:
Process.kill()
Process.wait()
BusyDialog.Destroy()
我一直在嘗試與EndModal和的wx.Dialog的其他各種方法和在網上查閱各種教程,但似乎沒有達到預期的效果,我所有的想法。
我在Ubuntu 13.10上使用Python 2.7和wxPython 2.8。
它聽起來像你的子進程不退出...你確定Process.wait()命令返回? –
你有點正確 - 正如下面所指出的,ShowModal實際上是問題所在,並且程序「掛起」等待用戶輸入... – Hmmmmm
哦粗...我不知道我在想什麼... –