Да. Вам нужно переопределить поведение закрытия по умолчанию 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()
Учебник PyQt , упомянутый las3rjock , хорошо обсуждает это. Также ознакомьтесь со ссылками со страницы PyQt на Python.org, в частности с официальной ссылкой , чтобы узнать больше о событиях и о том, как с ними обращаться.