MouseEvents in QGraphicsView

Alles rund um die Programmierung mit Qt
Antworten
Mensch
Beiträge: 50
Registriert: 16. März 2008 19:44

MouseEvents in QGraphicsView

Beitrag 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!
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag 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...
Mensch
Beiträge: 50
Registriert: 16. März 2008 19:44

Beitrag 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!
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Ja. Könnte es sein, daß es uns auch an C++-Grundlagen fehlt?
Mensch
Beiträge: 50
Registriert: 16. März 2008 19:44

Beitrag von Mensch »

Dankeschön nochmal!

Uns?Dir glaube ich nicht, mir schon.
Antworten