Foros Python
closeEvent - Versión para impresión

+- Foros Python (https://foro.recursospython.com)
+-- Foro: Desarrollo (https://foro.recursospython.com/forumdisplay.php?fid=1)
+--- Foro: Aplicaciones de escritorio (https://foro.recursospython.com/forumdisplay.php?fid=4)
+--- Tema: closeEvent (/showthread.php?tid=296)



closeEvent - lincoln - 31-12-2018

buenas tardes,mi pregunta es la siguiente tengo un form creado con PyQt5 y lo que quiero es mostrar un mensaje al cerrar el form pero no me funciona el closeEvent, simplemente se cierra el form y no me muestra el mensaje, aquí el código, gracias.

Código:
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QDialog, QApplication, QMessageBox
from PyQt5.QtGui import QCloseEvent
class frmLogin(QDialog):
   def __init__(self):
       super().__init__()
       self.initUI()

   def initUI(self):
       self.setWindowTitle("Log In")
       self.resize(100,200)
       self.setwindowFlags(Qt.MSWindowsFixedSizeDialogHint)

   def closeEvent(self, event):
    QMessageBox.information(self,"Mensaje","Cerrando aplicaion")
       event.accept()    


if __name__ == "__main__":    
   app = QApplication(sys.argv)
   dialog = QDialog()
   dialog.show()
   sys.exit(app.exec_())



RE: closeEvent - Francisco - 31-12-2018

Hola. El método es correcto, pero al final no estás creando tu diálogo. Debería ser:

  1. dialog = frmLogin()


Saludos!