[QT] Kontextmenü über Oberklasse erstellen
-
Hi,
ich friemel mir gerade irgendas zurecht und würde gerne wissen, wie ihr das Problem lösen würdet.
Also: Ich habe ein Widget X, das eine Tabelle Y beinhaltet. Diese Tabelle ist eine eigene Klasse von mir. Basierend auf unterschiedlichen Faktoren ist die Struktur der Tabelle generisch.
Nun möchte ich für die Zeilen der Tabelle Kontextmenüs erstellen. Was in den Kontextmenüs enthalten ist, hängt jedoch von dem Widget X, d.h. von der Oberklasse ab!
Meine Idee also:
Tabelle Y fängt bei Klick auf eine Zeile der Tabelle das Signal und weist es auf einen eigenen Slot zu. Der eigene Slot wiederum emmitiert ein signal, welches dann von er Oberklasse genutzt werden kann.Und in der Oberklasse mappe ich eben dieses signal zu einem slot... Jetzt ist das Problem nur: wenn ich dort ein Kontextmenü erstelle, brauche ich natürlich die event->globalPosition(), sonst landet das Kontextmenü nämlich in der oberen linken Ecke meines Bildschirms.
Die event-Position habe ich aber nicht mehr, da ich ja schon im Slot bin. Nun wäre ein Hack einfach in der Tabellenklasse Y die Position beim letzten Klick zu speichern und über einen Getter abrufen zu lassen... aber das ist natürlich alles andere als schön.
Ideen?