Hola a todos!
He comenzado a aprender un poco acerca de como realizar una GUI en python y para ello, he estado mirando algo de PyQt. Me he quedado atascado en este punto que no se realmente en que falla.
Mi intencion es añadir un boton para cerrar la aplicacion y que requiera de una confirmacion para ejecutar la accion. El código que he elaborado es el siguiente:
Código Python:
Ver originalimport sys
from PyQt4 import QtGui, QtCore
class VentanaPrincipal(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
#Colocacion de la ventana en pantalla y cambio de icono de la aplicacion.
self.setGeometry(250, 200, 800, 600)
self.setWindowTitle(
'prueba')
self.setWindowIcon(QtGui.QIcon(
'C:/dibujo.GIF'))
#Definicion de botón QUIT para salir de la aplicación.
quit = QtGui.QPushButton('Salir', self)
quit.setGeometry(730, 555, 60, 35)
self.connect(quit, QtCore.SIGNAL('clicked()'),QtGui.qApp, QtCore.SLOT('quit()'))
#Definición de un evento para la salida del programa
def closeEvent(self, event):
reply = QtGui.QMessageBox.question(self, 'Confirmacion de cierre de aplicacion',"Desea cerrar la aplicacion?", QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
event.accept()
else:
event.ignore()
if __name__=="__main__":
app = QtGui.QApplication(sys.argv)
window = VentanaPrincipal()
window.show()
sys.exit(app.exec_())
Con este código consigo que la confirmación se realice al pulsar la X de la esquina superior derecha, pero al pulsar el botón definido, se produce la salida del programa sin ningún tipo de confirmación (aparte de cerrarme el editor de código, por lo que seguramente ocurra algún error).
Alguien sabe dónde está el error?
Un saludo