QT Slot Signal Problem



  • hab ein Problem mit Signal und Slots:

    class ImageLabel : public QLabel
     {
    	 Q_OBJECT
    
    protected:
    	 void mousePressEvent(QMouseEvent *ev)
    	 {
    		Q_EMIT clicked(ev);
    	 }
    	 void mouseMoveEvent(QMouseEvent *ev)
    	 {
    
    	 }
    	 void mouseReleaseEvent(QMouseEvent *ev)
    	 {
    
    	 }
    public:
    
    Q_SIGNALS:
    	 void clicked(QMouseEvent *ev); 
     };
    

    Das ImageLabel ist ein QLabel, dass man anklicken können soll und das anschließend ein clicked Signal sendet

    wenn ich versuche eine andere Klasse bei dem Signal anzumelden so z. B.:

    connect(imageLabel, SIGNAL(clicked(QMouseEvent *)), this, SLOT(QMouseEvent *ev));
    

    an so einem Slot:

    public Q_SLOTS:
    	 void click(QMouseEvent *ev)
    	 {
    
    	 }
    

    dann kommt das Signal nie an - wenn ich statt dem QMouseEvent einfach einen Integer (int) als Parameter verwende funktioniert alles ohne Probleme - was mache ich falsch?

    und nicht zu vergessen :schland: :hoppschwiiz: 😉



  • connect(imageLabel, SIGNAL(clicked(QMouseEvent *)), this, SLOT(click(QMouseEvent *)));
    

    nur Signaturen, keine Parameterbezeichnungen



  • ach Mist - war ein Copy & Paste Fehler

    danke für den Hinweis


Anmelden zum Antworten