EventHandler der verschiedenen Widgets ansprechen

Alles rund um die Programmierung mit Qt
Antworten
Gruwe
Beiträge: 21
Registriert: 14. April 2011 18:15

EventHandler der verschiedenen Widgets ansprechen

Beitrag 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
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: EventHandler der verschiedenen Widgets ansprechen

Beitrag 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?
Gruwe
Beiträge: 21
Registriert: 14. April 2011 18:15

Re: EventHandler der verschiedenen Widgets ansprechen

Beitrag 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?
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: EventHandler der verschiedenen Widgets ansprechen

Beitrag von franzf »

Gut, dann bin ich ja beruhigt :D
Du suchst eventFilter() :) (-> Doku "QObject::eventFilter")
Antworten