[Kde-devel-es] Problemilla con QWizard

Albert Astals Cid astals11 at terra.es
Wed Feb 18 18:09:58 CET 2004


Si quitando el   
instalacion->Instalar();
si que te cambia bien creo que Francisco tiene razon, prueba a añadir un
kapp -> processEvents()
o 
qapp -> processEvents() en caso de que tu aplicacion sea enteramente Qt.

Albert.

A Dimecres 18 Febrer 2004 14:11, Francisco Gimeno va escriure:
> On Wednesday 18 February 2004 13:54, Pedro María de Echanove Pasquín wrote:
>
> Pues mira, lo que creo que pasa es...
> que no se llega al bucle de mensajes para que vaya distribuyendo las
> ordenes de pintar y tal...
>
> Como el proceso dura mucho tiempo, no se responde a ningun mensaje y parece
> colgao.
>
> > Francisco,
> >
> > lo primero muchas gracias por tu atención.
> >
> > Con hilos debería funcionar perfectamente, pero no es lo que quiero en
> > este caso (por razones que no vienen al caso). Sigo sin entender por que
> > ejecuta antes instalacion->Instalar() que QWizard::showPage(page) cuando
> > el orden dentro del método es el contrario.
> >
> > Un saludo,
> >
> > Pedro Echanove
> >
> > El Miércoles, 18 de Febrero de 2004 12:59, Francisco Gimeno escribió:
> > > Hola:
> > >
> > > Para lo que quieres hacer, creo que es necesario el uso de hilos. Si
> > > bien al principio puede parecer una locura, Qt proporciona una forma
> > > muy sencilla de hacerlo.
> > >
> > > Solo tienes que crear una clase que herede de QTthread y sobrecargar el
> > > metodo run, para usarlo, execute();
> > >
> > > El siguiente problema que se te planteara es la comunicacion del
> > > proceso que esta haciendo cosas con la interfaz grafica. Debes usar
> > > mutex cada vez que cambies algo de otro hilo.
> > >
> > > En fin, suerte, y mirate los ejemplos de Qthread
> > >
> > > ---
> > >
> > > > Hola a todos
> > > >
> > > > Me llamo Pedro y en mi empresa estamos desarrollando una distribucion
> > > > de Linux basada en Woody con kde 3.2 y orientada al usuario de
> > > > Windows. En cuanto la acabemos (si Dios quiere este mes) os daré la
> > > > URL por si alguien quiere bajarse las ISOs. Está quedando muy bien y
> > > > es muy estable
> > > >
> > > > :)
> > > >
> > > > En el instalador tengo un problemilla con QWizard. Os paso el trozo
> > > > del código en el que está el problema, a ver si alguien me puede
> > > > ayudar.
> > > >
> > > > void MainWindow::showPage( QWidget* page )
> > > > {
> > > > 	QWizard::showPage(page);
> > > >
> > > >         if (page == page4 )
> > > >         {
> > > >                 instalacion->Instalar();
> > > > 	}
> > > > }
> > > >
> > > > void Instalacion::Instalar()
> > > > {
> > > >         int i = 1;
> > > >         QStringList::iterator it;
> > > >         for ( it = packagesList.begin(); it != packagesList.end();
> > > > ++it ) {
> > > >                 etiqueta->setText("Instalando " + (*it));
> > > > 		/* Aquí ejecuta apt-get install (*it) */
> > > >                 barra->setProgress(i);
> > > >                 i++;
> > > >         }
> > > >         etiqueta->setText("La instalaci\xf3n ha terminado. Pulse
> > > > 'Siguiente' para continuar");
> > > > }
> > > >
> > > > NOTA: MainWindow hereda directamente de QWizard.
> > > >
> > > > El metodo instalacion->Instalar() ejecuta una serie de acciones como
> > > > por ejemplo mostrar el progreso de la instalacion con una
> > > > QProgressBar. Pero la pagina "page4" del QWizard no se muestra hasta
> > > > que ha terminado instalacion->Instalar(). ¿Por qué ocurre esto, si la
> > > > llamada al metodo Preparar es posterior al QWizard::showPage(page4)?
> > > > He probado a hacer update() y repaint() antes de Instalar(), pero
> > > > nada.
> > > >
> > > > Gracias por adelantado y saludos a todos.
> > > >
> > > > Pedro Echanove
> > > > _______________________________________________
> > > > Kde-devel-es mailing list
> > > > Kde-devel-es at kde.org
> > > > https://mail.kde.org/mailman/listinfo/kde-devel-es
> > >
> > > _______________________________________________
> > > Kde-devel-es mailing list
> > > Kde-devel-es at kde.org
> > > https://mail.kde.org/mailman/listinfo/kde-devel-es
>
> _______________________________________________
> Kde-devel-es mailing list
> Kde-devel-es at kde.org
> https://mail.kde.org/mailman/listinfo/kde-devel-es



More information about the Kde-devel-es mailing list