Pergunta

Existe alguma maneira para o usuário pronta para sair do programa gui escrito em Python?

Algo como "Tem certeza de que deseja sair do programa?"

Eu estou usando PyQt.

Foi útil?

Solução

Sim. Você precisa substituir o comportamento padrão perto do QWidget representando seu aplicativo para que ele não aceita imediatamente o evento. A estrutura básica que você quer é algo como isto:

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()

O PyQt tutorial mencionado por las3rjock tem uma boa discussão sobre isso. Também confira os links da PyQt página em Python.org, em particular a referência oficial, para saber mais sobre eventos e como lidar com eles.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top