Seite 1 von 1

EventHandler der verschiedenen Widgets ansprechen

Verfasst: 19. Februar 2012 08:16
von Gruwe
Hallo,

in meinem neuen Projekt habe ich ein QMainWindow. Innerhalb dieses MainWindows habe ich ein CentralWidget mit einem HBoxLayout. Dieses Widget enthält in seinem Layout verschiedene andere Widgets, so z.B. auch zwei QListWidgets.

Nun möchte ich für jedes dieser QListWidgets ein eigenes Popup-Menu erstellen, was an sich nicht das Problem ist. Jedoch hakt es beim implementieren der EventHandler (hier mousePressEvent). Ich habe für jedes dieser ListWidgets einen eigenen Event-Handler reimplementiert. Jedoch scheint z.B. bei einem Rechtsklick stets nur der Event-Handler des übergeordneten MainWindows angesprochen zu werden. Ich möchte jedoch, dass wenn sich die Maus beim Klick über ListWidget1 befindet, der Eventhandler von ListWidget1 aufgerufen wird. Entsprechend bei ListWidget2 der Eventhandler von ListWidget2. Wie mach ich das?


MfG und Danke

Re: EventHandler der verschiedenen Widgets ansprechen

Verfasst: 19. Februar 2012 09:36
von franzf
so z.B. auch zwei QListWidgets.

Nun möchte ich für jedes dieser QListWidgets ein eigenes Popup-Menu erstellen, was an sich nicht das Problem ist. [...] Ich habe für jedes dieser ListWidgets einen eigenen Event-Handler reimplementiert
Bevor man hierauf wirklich eine Antwort geben kann: WIE hast du es geschafft, für QListWidget einen eigenen Event-Handler zu implementieren?

Re: EventHandler der verschiedenen Widgets ansprechen

Verfasst: 19. Februar 2012 11:32
von Gruwe
Sorry,
Da hab ich natürlich Unsinn geschrieben. Ich hab den Eventhandler für das Widget, in dem das ListWidget eingebettet ist, reimplementiert.
So wie es ausschaut, wird dieser auch aufgerufen, jedoch nur dann, wenn ich kein anderes Widget (z.b. Das ListWidget) anklicke.

Ich Brauchs aber jetzt so, dass der Eventhandler des Widget auch aufgerufen wird, wenn ich z.b. Mit der Maus über dem ListWidgt klicke!

Wie mach ich das?

Re: EventHandler der verschiedenen Widgets ansprechen

Verfasst: 19. Februar 2012 11:55
von franzf
Gut, dann bin ich ja beruhigt :D
Du suchst eventFilter() :) (-> Doku "QObject::eventFilter")