2009-09-12 2 views
17

사용자가 Python으로 작성된 gui 프로그램을 종료하도록 할 수있는 방법이 있습니까?PyQt 응용 프로그램에서 종료시 프롬프트

"프로그램을 종료 하시겠습니까?"

저는 PyQt를 사용하고 있습니다.

+0

[이 부분의 PyQt4 튜토리얼] (http://zetcode.com/tutorials/pyqt4/firstprograms/)의 "Message Box"섹션을보십시오. * ([las3rjock] (http://stackoverflow.com/users/94732/las3rjock)의 답변) * –

+0

[이 부분의 PyQt4 튜토리얼]의 "메시지 상자"섹션을보십시오 (http://zetcode.com/tutorials/pyqt4/firstprograms /). – las3rjock

답변

45

예. 응용 프로그램을 나타내는 QWidget의 기본 닫기 동작을 재정 의하여 이벤트를 즉시 승인하지 않아야합니다.

def closeEvent(self, event): 

    quit_msg = "Are you sure you want to exit the program?" 
    reply = QtGui.QMessageBox.question(self, 'Message', 
        quit_msg, QtGui.QMessageBox.Yes, QtGui.QMessageBox.No) 

    if reply == QtGui.QMessageBox.Yes: 
     event.accept() 
    else: 
     event.ignore() 

las3rjock에 의해 언급 된 PyQt는 tutorial이의 좋은 토론을 가지고 : 당신이 원하는 기본 구조는 다음과 같은 것입니다. 또한 이벤트와 그 처리 방법에 대한 자세한 내용을 보려면 PyQt page (Python.org)의 링크 (특히 official reference)를 확인하십시오.

+0

오, 고마워요! –

+2

"yes"와 "no"를 다른 언어로 설정하는 방법은 무엇입니까? 예를 들어 독일어로 된 메시지가 "예"와 "아니오"대신에 "ja"와 "nicht"를 원합니다. – Aleksandar

+0

(수정 필요없이) 나와 함께 일했습니다! –