eventFilter will nicht
Verfasst: 28. Oktober 2009 10:29
Hallo Leute,
ich habe eine Frage zu eventFiltern. In meinem Programm habe ich eine QGraphicsScene und dort zwei von QGraphicsItem abgeleitete Elemente reingesetzt. Eins ist von der Klasse BackgroundRect und eines von der Klasse ColorItem, die beide von QGraphicsItem abgeleitet sind wiegesagt. Ich habe schon EventHandler reimplementiert (mouseMoVeEvent, etc. ) und das funktioniert hervorragend.
Jetzt wollt ich, dass die Mouse Events auf ColorItem vorher von BackgroundRect gefiltert werden und deshalb in BackgroundRect eine Funktion hinzugefügt. Von beiden Klassen werden Instanzen (ColorItem: item; BackgroundRect: rectA) in eine anderen dritten Klasse gebildet. In dieser habe ich dann geschrieben.
Leider passiert rein gar nichts und über Debuggen finde ich heraus, dass ich nie in den EventFilter gelange.
Was mache ich falsch? Nach allen Dokus, die ich bisher dazu gelesen habe ist das doch alles, was ich benötige oder...
Danke für eure Hilfe
Grüße Stefan
ich habe eine Frage zu eventFiltern. In meinem Programm habe ich eine QGraphicsScene und dort zwei von QGraphicsItem abgeleitete Elemente reingesetzt. Eins ist von der Klasse BackgroundRect und eines von der Klasse ColorItem, die beide von QGraphicsItem abgeleitet sind wiegesagt. Ich habe schon EventHandler reimplementiert (mouseMoVeEvent, etc. ) und das funktioniert hervorragend.
Jetzt wollt ich, dass die Mouse Events auf ColorItem vorher von BackgroundRect gefiltert werden und deshalb in BackgroundRect eine Funktion
Code: Alles auswählen
bool BackgroundRect::eventFilter(QObject* target, QEvent* event)
{
if(event->type() == QEvent::MouseMove)
{
if(this->widthVal <= 100)
{
// this->hide();
return true;
}
else
return false;
}
return false;
}Code: Alles auswählen
item->installEventFilter(rectA);Leider passiert rein gar nichts und über Debuggen finde ich heraus, dass ich nie in den EventFilter gelange.
Was mache ich falsch? Nach allen Dokus, die ich bisher dazu gelesen habe ist das doch alles, was ich benötige oder...
Danke für eure Hilfe
Grüße Stefan