2012-07-20 3 views
0

도구 마녀를 만들기 위해 유니폼 webPlayer를 사용하고있다 (TcpClient 소켓 사용). 나는 Maya의 PyQT MainWindow에 webPlayer를로드하고있다. (QWebView.load (my url) int로 html 파일을로드하고있다.이 윈도우는 maya에 부모 역할을한다).PyTt에서 유니티 webPlayer 사용하기 마야의 MainWindow : 애플리케이션이 종료되지 않는다.

내 문제는 Mywindow.close()로 창을 닫을 때 화합이 여전히 어딘가에서 백그라운드에서 실행되고있어 마야를 올바르게 종료 할 수 없다는 것입니다 (마야 프로세스가 계속 실행 중입니다). 가까운 곳에) ...

누군가가 문제의 위치를 ​​알 수 있습니까?

답변

0

문제는 당신이 마야와 함께 QApplication 인스턴스를 사용하고 있기 때문에 마야를 종료하기 전에 그 인스턴스를 죽여야한다는 것입니다. 여기에 작은 팁과 저스틴 덕분에 :) 난 그냥 deleteLater을 (시도

app = QtGui.QApplication.instance() 
    __running = False 
    for obj in app.topLevelWidgets(): 
     if obj.objectName()=="your_we_playter_name" and obj.isVisible(): 
      obj.deleteLater() 
+0

) :(는 QWidget은 삭제하지만 마야는 아직 닫지 마십시오 그것이 unity3D를로드 할 사실이 있다는 것입니다 ... 문제를 일으키는 내용 ... (모든 작업을 잘로드하면로드됩니다.) QWidget을 자바 스크립트로 채우는 html 페이지를 호출합니다. –

+0

qapp 인스턴스 자체를 삭제해야한다고 생각합니다. – Achayan

+0

감사합니다. 다시 응답 =). qapp는 maya이므로 qapp을 삭제할 수 없습니다. 부모님이 Qwindow를 maya로 사용했습니다. 스크립트에서 Qapp을 선언하면 창을 직접 열고 닫을 수 있습니다. –