그림과 같이 subprocess.Popen()을 사용하여 프로세스를 시작한 후 "취소"버튼이있는 사용 중 창 (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
오, 거친 것 ... 나는 내가 생각한 것을 모른다 ... –