esto puede parecer una pregunta muy simple, pero quiero volcar algunos datos cada vez que el QMainWindow
cierra, por lo que se utiliza el siguiente fragmento de código:Qt QMainWindow en Cerrar
QObject::connect(MainWindow.centralwidget, SIGNAL(destroyed()), this, SLOT(close()));
Pero esto no parece para hacer que llame al close()
. ¿Estoy haciendo esto mal?
¿No se supone que la unidad central debe ser destruida?
O tal vez la aplicación se cierra antes de llamar al close()
?.
¿Alguna otra forma de hacerlo?
¿Dónde encaja 'this' dentro de la jerarquía' QObject'? Puede ser que se borre antes de que se envíe la señal. Por supuesto, no me preocuparía demasiado ya que hay mejores alternativas en las respuestas dadas hasta ahora. – Troubadour
No puede volcar datos con el código que ha mostrado ... ¿También si su pregunta es cómo volcar datos antes de que se cierre QMainWindow? o por qué QMainwindow no se está cerrando? Deje en claro ... – liaK
Quiero escribir un archivo XML después de hacer clic en la 'x' para cerrar la ventana principal. Parece que no funciona con el código anterior o QApplication :: lastWindowClosed() (o QApplication :: aboutToQuit()) ... Havent probó QCloseEvent, pero para mantener la estructura MVC, prefiero no hacerlo. La clase en la que estoy trabajando no es la QMainWindow, sino que utilizo los archivos obtenidos al compilar los archivos de la interfaz de usuario creados en el diseñador. – Cenoc