Archief - Qt label met mouse move event

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Robke46

Legacy Member
ik zou graag een eigen klasse maken die overerft van Qlabel en dan mouse move event herimplementeren maar ik weet niet zo goed hoe ik dit moet doen.
kan iemand mij hierbij helpen?
mvg

Robke46

Legacy Member
ik heb een klasse aangemaakt die overerft van QLabel en dan moveMouseEvent proberen te implementeren maar er gebeurt niet echt veel.
header file:
Code:
#ifndef BEWEEG_H
#define BEWEEG_H

#include <QMouseEvent>
#include <QLabel>
#include <QSize>
#include <QDebug>
#include <QPushButton>
#define QD qDebug() << __FILE__ << __LINE__

class Beweeg : public QLabel
{
    Q_OBJECT
public:
    Beweeg(QWidget *parent,int w, int h);
    ~Beweeg();

private:


protected:
    void moveMouseEvent(QMouseEvent *event);

signals:
    void signaal(int x, int y);

friend class QPushButton;

};
#endif // BEWEEG_H

c file:
Code:
#include "beweeg.h"

Beweeg::Beweeg(QWidget *parent,int w,int h)
    : QLabel(parent)
{
    this->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken);
    this->setText("Move Here");
    this->setCursor(Qt::SizeAllCursor);
    this->setAlignment(Qt::AlignCenter);
    this->setFixedSize(h,w);
    this->setMouseTracking(true);

}

void Beweeg::moveMouseEvent(QMouseEvent *event)
{
    QD << "test";
    if (event->buttons() & Qt::LeftButton)
    {
        emit signaal(event->x(),event->y());
    }
}


Beweeg::~Beweeg(){

}

Robke46

Legacy Member
ok het is dus mouseMoveEvent en niet moveMouseEvent, het werkt nu

Gurdt

Legacy Member
Robke46 zei:
ok het is dus mouseMoveEvent en niet moveMouseEvent, het werkt nu
:')
ik herken het probleem wel ze, zo kleine shitdingskes die nie worden aangegeven als compilefouten ofzo

hoewel ik wel raar vind dat dit geen compilefouten geeft.

Yngwie

Legacy Member
Het is toch normaal dat hij geen compilefouten geeft.

Hij wou de originele mouseMoveEvent method overriden maar door zijn typfout heeft hij een ordinaire method moveMouseEvent geschreven die qua syntax correct is maar nooit zal gecalled worden natuurlijk.

In java zou de compiler het wel detecteren als je jezelf wat discipline oplegt en @override annotaties gebruikt overal waar het nodig is. De compile zal dan deze annotatie zien staan bij een methode die niet bestaat in de superklasse en zal reclameren.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan