[Kde-devel-es] Aprendiendo un poco...

Ignacio Cárdenas kde-devel-es@mail.kde.org
Mon, 21 Oct 2002 13:08:31 +0200


Hola!

>Buenas!
>Estoy peleandome estos dias con la programacion... joe tengo ganas de aprender 
>pero creo... que a este paso va a vencerme
>

No, hombre!!... de rendirse nada!!!!!!

>Varias preguntas... los "slots" son... ¿metodos que se ejecutan cuando se 
>recibe una señal? ¿Puede entenderse asi?
>

Pues si, básicamente eso es lo que son.

Digamos que los métodos de una clase pueden emitir 'signals' cuando se 
produce un determinado evento, y que otros métodos de otras clases 
(llamados 'slots) pueden recoger cierto tipo de señales. En el código de 
tu prograna tu puedes conectar una 'signal' con un 'slot' según tus 
necesidades. Por ejemplo:

//Creamos un número LCD de hasta dos dígitos.
QLCDNumber *lcd = new QLCDNumber(2, this, "lcd");
//El rango de valores en el que se puede mover.
lcd->setRange(0, 99);

//Creamos un slider.
QSlider *slider = new QSlider(Horizontal, this, "slider");

/*
Ahora, hacemos que cuando cambie el estado del slider (con lo cual emite 
una señal), esta sea recogida por un slot del LCD, de modo que dibuje un 
número que represente el nuevo valor del slider. Ya ves que la conexión 
entre una signal y un slot debe hacerse explícitamente en el código del 
programa.
*/
QObject::connect( slider, SIGNAL(stateChanged(int)), lcd, 
SLOT(setValue(int)) )

Tanto la señal como el slot están definidos en las clases 
correspondientes... Bueno, no estoy seguro de haber acertado con los 
nombres... pero espero que pilles como va la cosa ;-)

>
>Y otra cosa... si yo diseño un interfaz con el qt-designer... ¿Como lo incluyo 
>en mi codigo fuente?
>

Mira, eso ya no lo se :-(

>
>JOEEEEE no entiendo naaaaa
>
>Es la primera vez que me enfrento al desarrollo de algo con ventanitas y 
>claro... me queda un poco grande O:-)
>

Tu tranquilo, que nadie nace sabiendo, y esto se arregla practicando.

>
>GRACIAS.
>
>- -- 
>Un saludo,
>	Jaime Robles
>	jaime@kde.org
>	Coordinador KDE-es - KDE Spanish Translation Team
>	http://www.kde.org/es  - http://es.i18n.kde.org
>

Un saludo,
Ignacio.