Gibt es eine Möglichkeit, ein Popup anzuzeigen, wenn der Benutzer mit der rechten Maustaste auf einen leeren Bereich der Szene klickt?
Ich bin neu bei Qt und habe Slots und Unterklassen versucht, aber ohne Erfolg.
Kein solcher Slot und bzw.:
"Fehler:" QMouseEvent "wurde nicht als"
"deklariert
beim Versuch, das onMouseRelease
-Ereignis zu implementieren.
QGraphicsView ist das Widget, mit dem der Inhalt von QGraphicsScene angezeigt wird. Daher ist der richtige Ort, um das Kontextmenü (Popup-Menü) zu implementieren, die QGraphicsView.
Sie müssen die Funktion contextMenuEvent neu implementieren, da es sich um Ihre eigene Klasse handelt, die von QGraphicsView geerbt wurde:
%Vor%Siehe auch das Beispiel für Menüs .
Sie können die Methode contextMenuEvent
der Klasse QGraphicsScene
erneut implementieren, die Ihnen Zugriff auf die Szenenkoordinaten sowie auf die Bildschirmkoordinaten gewährt (im Gegensatz zu QGraphicsView
, was auch funktioniert, aber nicht funktioniert habe diese Information):
Tags und Links qt contextmenu qgraphicsscene qmouseevent