Seite 1 von 1

MouseEvents in QGraphicsView

Verfasst: 16. März 2008 21:00
von Mensch
Hallo!

Ich bin absoluter Qt-Neuling und muss ein Problem lösen, für das ich leider bei Durchlesen verwandter Beiträge keine Lösung gefunden habe. Daher meine Frage:

Ich habe ein Qt Projekt erstellt mit einer ui_bla.h für die Gui, einer main.cpp und einer bla.h und bla.cpp. Die main ruft eigentlich nur den Konstruktor für bla auf. In bla werden alle Buttons der Gui mit passendem Signal zu passenden Slots verbunden. Die Slots sind Funktionen, die ebenso in der bla.cpp deklariert sind. Die Buttons sorgen u.a. dafür, dass man ein Bild laden kann, das dann in einem QGraphicsView angezeigt wird. Realisiert ist das über ein QImage, das zu einer QPixmap wird, welche zu einer QGraphicsScene geaddet wird, die dann in den QGraphicsView gesetzt wird.

Jetzt brauche ich Folgendes : Ich brauche die Möglichkeit MouseEvents auf dem QGraphicsView abzufragen. Wie mache ich das? Vom generellen Aufbau her? Wo muss ich welche Funktionen unterbringen?Was gibts schon usw?

Vielen Dank im Voraus für die Hilfe!

Verfasst: 16. März 2008 21:19
von upsala
Du suchst nicht QGraphicsView, sondern QGraphicsScene und diese Klasse 'überlädst' du. Die passende Mouse-Event-Funktionen findest du in der Dokumentation davon...

Verfasst: 16. März 2008 21:28
von Mensch
Dank für den Tipp!
Die passenden Funktionen habe ich mir aus der Doku gesucht. Jetzt habe ich aber noch eine Frage zum Überladen.

Funktioniert das so, dass ich mir eine neue cpp und eine neu h anlegen muss, die eine Klasse enthalten die von QGraphicsScene abgeleitet ist und dafür die Mouse Funktionen definieren? Wie muss ich die dann wo einbinden?

Muss ich dann mein QGraphicsView nicht mit einer QGraphicsScene sondern mit einem Objekt meiner überladenen Klasse, die von QGraphicsScene abgeleitet wurde, besetzen?

Sorry, für die redundante Frage.

Und wieder Danke im Voraus!

Verfasst: 16. März 2008 22:20
von upsala
Ja. Könnte es sein, daß es uns auch an C++-Grundlagen fehlt?

Verfasst: 17. März 2008 10:17
von Mensch
Dankeschön nochmal!

Uns?Dir glaube ich nicht, mir schon.