Qt en Español

Qt en Español es una comunidad de usuarios para aprender a Programar usando las librerias Qt

Buscar
 
 

Resultados por:
 


Rechercher Búsqueda avanzada

Últimos temas
» Desaparecen objetos del formulario al usar showMaximized()
Sáb Sep 13, 2014 9:54 pm por ljimenez29

» visivilidad de controles
Dom Mayo 18, 2014 5:04 pm por solitarywolf

» Error QT (y no sé que más poner ¬¬)
Jue Sep 26, 2013 4:02 pm por Anónimo

» QT, VTK en VS 2008 C++
Jue Abr 11, 2013 5:19 pm por monicadiaz

» [Ayuda]Programa en PyQt4 en modo Pantalla completa
Sáb Mar 30, 2013 8:56 pm por fortil

» SIGNAL y SLOT
Sáb Mar 02, 2013 5:11 pm por loloqt

» Qt creator 5.0.1 en Windows 8...."Qt creator needs a compiler set up to build. Configure a compiler in the kit options"
Miér Feb 27, 2013 4:23 pm por caliche

» mi aplicacion no me lee la base de datos
Jue Oct 18, 2012 1:55 pm por jldiaz

» QT.Para G19 de Logitech
Dom Oct 14, 2012 3:00 am por novax1

Navegación
 Portal
 Índice
 Miembros
 Perfil
 FAQ
 Buscar
Compañeros
Crear foro
Sondeo

Que nombre te gustaria que se llamara el foro?

27% 27% [ 6 ]
18% 18% [ 4 ]
0% 0% [ 0 ]
55% 55% [ 12 ]

Votos Totales : 22


No estás conectado. Conéctate o registrate

Cancelar el cierre de la aplicación

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

1 Cancelar el cierre de la aplicación el Sáb Mar 06, 2010 3:15 pm

Hola,

Veréis, tengo una pequeña duda. En mi aplicación tengo un QTreeWidget, bueno pues quiero que cuando pulses en cerrar o en la X superior derecha del programa, que haga una pregunta si la lista tiene algún elemento y si respondo que si, pués que se cierre o si por el contrario pulso en no, pues que se cancele el cierre. Ésto último es lo que no se cómo hacerlo, ¿cómo hago para cancelar el cierre de la aplicación? ¿que es en el destructor, en un evento que hay por ahí o como?

Un saludo.

Ver perfil de usuario http://www.sploft.com

2 Re: Cancelar el cierre de la aplicación el Dom Mar 07, 2010 4:54 pm

pues hay que aprender a usar el QMessageBox

Ver perfil de usuario http://qt-espanol.forosactivos.net

3 Re: Cancelar el cierre de la aplicación el Mar Mar 09, 2010 11:24 am

Código:
QMessageBox msgBox;
 msgBox.setText("Hay elementos en la lista.");
 msgBox.setInformativeText("¿Desea salir?");
 msgBox.setStandardButtons(QMessageBox::NoRole | QMessageBox::YesRole);
 msgBox.setDefaultButton(QMessageBox::NoRole);
 int ret = msgBox.exec();

 switch (ret) {
  case QMessageBox::NoRole:
      // Pulso no
      break;
  case QQMessageBox::YesRole:
      // pulso si
      break;
 
 }
Seria algo asi

Saludos

Ver perfil de usuario

4 Re: Cancelar el cierre de la aplicación el Jue Mar 18, 2010 11:21 am

En la main window tienes que sobrepisar el evento closeEvent

En el .h de declaracion de tu clase derivada de QMainWindow
...
protected:
virtual void closeEvent(QCloseEvent *e);
...

En el .cpp

void TuMainWindow::closeEvent(QCloseEvent *e)
{
if ( Tu condicion para no salir de app )
{
// Aqui van los mensajes que necesites
...
// Rechazamos el close
e->ignore();
}
else
{
// Aceptamos el close
e->accept();
}
}

El evento closeEvent solo es disparado en los "top-level widgets" por eso has de manejarlo en tu main window

un saludo

Ver perfil de usuario http://velneo.es/

5 Re: Cancelar el cierre de la aplicación el Vie Mar 19, 2010 5:52 am

Juan, tengo una duda tecnicamente no hay que prototipar la función miembro como virtual, se entiende que lo es.

Saludos

Ver perfil de usuario

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.