Seite 1 von 1

QTableView und clicked()-Signal

Verfasst: 15. Mai 2010 02:49
von oberschlingel
Hallo,

ich wäre sehr dankbar, falls jemand eine bequeme Lösung für folgendes Problem kennt:

Ich habe ein QTableView mit einer gewissen Höhe. Befinden sich darin nur wenige Zeilen, ist der Bereich darunter automatisch leer (weiß). Leider wird das clicked-Signal des QTableViews aber nur ausgelöst, wenn direkt auf eine Zeile geklickt wird. Wird in den Bereich darunter geklickt, bleibt das Signal aus (laut Doku wird es nur ausgelöst, wenn der ModelIndex gültig ist, was er in dem Fall ja leider nicht ist).
Da durch den Klick in den Bereich aber alle Zeilen deselektiert werden, würde ich diesen Zustand auch gerne abfragen. Es gibt aber kein Signal wie z.B. allDeselected oder lostFocus...

Weiß jemand, wie ich ohne umständliche Mausbeobachtung auf die ganze Applikation diesen Zustand feststellen kann?

Vielen Dank für die Hilfe.

Verfasst: 15. Mai 2010 08:11
von franzf
Die unbequemere Lösung: von QTableView ableiten und das mousePressEvent nach Wunsch implementieren.
Die schnelle Lösung: Eventfilter in die QTableView installieren.

Vom Code her dürften die wohl ziemlich identisch laufen, bei zweiterer kannst du halt halt filterndes Objekt gleich dein MainWindow hernehmen.