[Kde-devel-es] C++ hasta en la sopa
Albert Astals Cid
tsdgeos at terra.es
Wed Mar 3 22:26:53 CET 2004
Para Qt los clicks sobre widgets no son signals sino eventos.
Para poder captarlos has hacer que tu clase herede de QWidget (o alguna que
herede de este como QMainWindow, KMainWindow, etc) y reimplementar el metodo
void mousePressEvent ( QMouseEvent * e ), para tener algo asi como parece que
quieres tendrias que:
Definir un signal en el .h de tu clase
signal:
void clicked();
redefinir el el .h el mousePressEvent
protected:
void mousePressEvent ( QMouseEvent * e );
y en el .cpp correspondiente
void nombredemiclase::mousePressEvent ( QMouseEvent * e )
{
if (e -> button() == Qt::LeftButton) emit clicked();
}
Albert.
A Dimecres 03 Març 2004 20:32, Manuel Pérez López va escriure:
> El Miércoles 03 Marzo 2004 16:19, Manuel Pérez López escribió:
> > Otro problema es que quiero trabajar con eventos de click de
> > ratón sobre un formulario, pero no existe tal señal en el Qt Designer (F3
> > y seleccionar el formulario sólo), o sobre una imagen. ¿Cómo lo hago?
>
> Mi pregunta de otra forma. Esto no funciona
>
>
> En main:
> QObject::connect( mainWin, SIGNAL(clicked()),
> mainWin,SLOT(mainWin_click() ) );
>
>
> definiendo adecuadamente la respuesta a dar al evento:
> public slots:
> /*$PUBLIC_SLOTS$*/
> void mainWin_click() {close();};
>
> El programa compila correctamente pero no funciona el click, con un aviso
> de:
>
> QObject::connect: No such signal PresentaPortada::clicked()
> _______________________________________________
> 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