2012-06-02 4 views
2

pyqt4 python에서 QApplication.commitData를 사용하여 종료 신호를 잡는 방법은 무엇입니까? 컴퓨터가 꺼지기 전에 프로그램을 제대로 닫으려고합니다.pyqt4 python에서 종료 신호를 잡는 방법?

+0

'closeEvent()'처리기를 설정할 수 없습니까? – Blender

+0

@ Blender 컴퓨터를 종료하면 closeEvent()가 트리거되지 않습니다. – unice

+3

OS가 신호를 보내지 않고 프로세스를 중단시킬 수 있습니다. – Blender

답변

1

QApplication.aboutToQuit 신호로 연결할 수는 있지만, @Blender는 주석에서 제안한 것처럼 응용 프로그램이 제대로 종료되지 않을 것이라고 보증하지 않습니다. 나는 OS가 멋지게 각 응용 프로그램을 종료하려고 할 것이라고 생각합니다.

from PyQt4 import QtCore, QtGui 

def shuttingDown(): 
    print "Shutting down" 

app = QtGui.QApplication([]) 
app.aboutToQuit.connect(shuttingDown) 
w = QtGui.QWidget() 
w.show() 
app.exec_() 
관련 문제