Ich habe viele Sachen mit pygtk getan, aber ich entscheide mich, pyqt zu lernen, im stecken an der qgraphicsview ich habe absolutley keine Ahnung, wie man Signale von den Elementen, die ich auf der Grafikansicht, in erster Linie Maus events.how bekomme ich die Maus-Ereignisse von idividual Elemente in einer Szene?
Antworten
Zu viele Anzeigen?QGraphicsItem ist kein QObject und kann weder Signale senden noch Slots empfangen. Stattdessen müssen Sie Ereignisse behandeln. Das können Sie entweder durch einen Ereignisfilter, eine Unterklasse der Ansicht oder der Szene zum Abfangen von Ereignissen oder einfach durch die Unterklasse der Elemente selbst und die Implementierung der Ereignisbehandlungsfunktionen (siehe geschützte Mitgliedsfunktionen in der Dokumentation) tun. Vielleicht kann dieses Beispiel von Interesse sein: http://doc.trolltech.com/4.6/graphicsview-diagramscene.html .
Eine andere Möglichkeit ist es, auf die Verwendung von Signalen zu verzichten und die Instanz von QGraphicItem direkt eine Methode des übergeordneten Elements aufrufen zu lassen, indem man einen Verweis auf dieses beibehält. Das ist zwar weniger hübsch als die Verwendung von Signalen, erfüllt aber letztlich den Zweck.