MouseEvent durch QGraphicsView durchlassen
Verfasst: 19. Oktober 2009 10:00
Hallo erstmal,
ich habe ein Problem und bisher über Google- und Forensuche leider nichts gescheites finden können.
Ich habe eine Klasse MapGraphicsView, die ich von der Klasse QGraphicsView abgeleitet habe.
Diese eigene View mach ich durch Aufruf von setStyleSheet("background:transparent")
transparent, da leider die Methode setWindowOpacity bei mir keinen Effekt zeigt.
Nun habe ich hinter dieser View noch ein weiteres Widget liegen, dass auf mouseEvents reagieren soll.
Mein Problem ist, dass die MouseEvents nun nicht bis an mein 'unteres' widget durchkommen.
Dazu folgender Codeausschnitt:
Vielleicht wisst ihr ja, wie ich es bewerkstelligen kann, dass meine View die MouseEvents einfach 'durchlässt'?
Vielen Dank schon mal im voraus.
Gruß, Simon
ich habe ein Problem und bisher über Google- und Forensuche leider nichts gescheites finden können.
Ich habe eine Klasse MapGraphicsView, die ich von der Klasse QGraphicsView abgeleitet habe.
Diese eigene View mach ich durch Aufruf von setStyleSheet("background:transparent")
transparent, da leider die Methode setWindowOpacity bei mir keinen Effekt zeigt.
Nun habe ich hinter dieser View noch ein weiteres Widget liegen, dass auf mouseEvents reagieren soll.
Mein Problem ist, dass die MouseEvents nun nicht bis an mein 'unteres' widget durchkommen.
Dazu folgender Codeausschnitt:
Code: Alles auswählen
MapGraphicsView::MapGraphicsView(QGraphicsScene *pItemScene, QWidget *pParent) : QGraphicsView(pItemScene, pParent) {
setGeometry( pParent->geometry() );
setStyleSheet("background:transparent");
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
EcWidget *lEcWidget = new EcWidget( QDir(), QDir("/Maps"), pParent);
lEcWidget->setGeometry( geometry() );
lEcWidget->setCenterLatitude( 53.51350 );
lEcWidget->setCenterLongitude( 8.13563 );
lEcWidget->draw();
lEcWidget->setVisible(true);
lEcWidget->stackUnder(this); // bring under the view (this)
}
Vielen Dank schon mal im voraus.
Gruß, Simon