[Kde-devel-es] Saber quien emite la señal

Mario Teijeiro Otero emeteo at escomposlinux.org
Thu May 19 22:50:11 CEST 2005


On Thursday 19 May 2005 21:41, Jaime Robles wrote:
> El Jueves, 19 de Mayo de 2005 17:42, hacklet escribió:
> > Resulta que tengo unos 24 botones que realizan casi la
> > misma operacion, solo que cambia un poco dependiendo
> > del boton. Entonces lo que veo mas logico es hacer un
> > SLOT comun para todos ellos y dentro de este
> > diferenciar cada operacion dependiendo del boton
> > pulsado.
>
> Y a mi se me ocurre que... ¿por qué no creas 24 slots MUY sencillos que
> llamen a un slot más complejo con un parámetro que identifique el botón y
> la acción que quieres que ejecute el slot "complejo"?

O mejor aún, que herede de la clase QButton, connecte la señal clicked() a un 
método propio y este emita una señal clicked( QButton* ), pasando por 
parámetro un this. Vamos, algo como esto:

class MyButton : public QButton {
	void MyButton( parametros ) : QButton (parametros)
	{
		connect( this, SIGNAL(clicked), SLOT(myClicked));
        };

  protected slots:
	void myClicked( void ) { emit  clicked(this) ; }
  public signals:
      void clicked( QButton *);
}



Saludos
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-devel-es/attachments/20050519/df76a7b4/attachment.pgp


More information about the Kde-devel-es mailing list