Hallo,
ich habe eine Klasse von QGraphicsView abgeleitet und habe hierzu die MousePressEvent und MouseDoubleClickEvent reimplementiert.
Leider wird nun bei einem MouseDoubleClickEvent (Navigieren in ein QGraphicsItem) auch der MousePressEvent (Selecktieren eines Items) aufgerufen, was auch so in der Doku steht...
Nun ist es dann so, dass bei einem Doppelklick ein item auch Selektiert (aber bei dem 2.Click des Doppelklicks nicht deselektiert) wird.
In der Doku Habe ich dabei leider nur den Satz gefunden, dass sich der Entwickler selbst drum kümmern muss, dass es richtig gehandelt wird, dass ein MousePressEvent und ein MouseDoubleClickEvent entsprechend funktionieren.
Aber ich habe da nichts dazu gefunden, wie man das abfangen kann.
Ich möchte nun also in der MousePressEvent abfragen, ob es ein MouseDoubliClickEvent ist und umgekehrt, um dann ggf. direkt die Event-Routine wieder verlassen zu können.
Hat da jemand ne Hilfe für mich?
Vielen Dank
[gelöst] in MousePressEvent abfragen von MouseDoubleClick...
[gelöst] in MousePressEvent abfragen von MouseDoubleClick...
Zuletzt geändert von metz153 am 14. September 2010 16:46, insgesamt 1-mal geändert.
Ich glaube das kannst du vom gelieferten Event abfragen.
Mit event->type() und einer der Werte aus:
http://doc.qt.nokia.com/4.6/qevent.html#Type-enum
if(event->type() == QEvent::MouseButtonPress)
if(event->type() == QEvent::MouseButtonDblClick)
Gruß Mr.Blonde
Mit event->type() und einer der Werte aus:
http://doc.qt.nokia.com/4.6/qevent.html#Type-enum
if(event->type() == QEvent::MouseButtonPress)
if(event->type() == QEvent::MouseButtonDblClick)
Gruß Mr.Blonde
Hi,
vielen Dank erstmal für die schnelle Antwort.
Leider muss ich sagen, dass der Tipp von dir nicht Funktioniert, da er, wenn er in das MousePressEvent reinläuft auch den Entsprechenden type hat.
-Habs auch ausprobiert, und es ging leider nicht.
momentan habe ich das so gemacht, dass er immer bei einem Doppelklick mache, da er immer erst in pressEvent reingeht, indem ich ein setSelected(true) mache, und danach in den DoppelKlickEvent
Für weitere Ratschläge wäre ich jedoch froh, da das ja nicht wirklich die Lösung sein kann...
vielen Dank erstmal für die schnelle Antwort.
Leider muss ich sagen, dass der Tipp von dir nicht Funktioniert, da er, wenn er in das MousePressEvent reinläuft auch den Entsprechenden type hat.
-Habs auch ausprobiert, und es ging leider nicht.
momentan habe ich das so gemacht, dass er immer bei einem Doppelklick
Code: Alles auswählen
item->setSelected(false)
Für weitere Ratschläge wäre ich jedoch froh, da das ja nicht wirklich die Lösung sein kann...