QTreeWidget; Auf rechtsklick reagieren

Verschiedenes zu Qt
Antworten
energetic
Beiträge: 17
Registriert: 25. Mai 2009 22:31

QTreeWidget; Auf rechtsklick reagieren

Beitrag von energetic »

Hi,
ich brauch mal wieder eure hilfe :-).
Ich möchte mit der Klasse QTreeWiget auf Rechsklicks reagieren.
Das Item, das angeklickt wurde muss mit dem Signal geliefert werden. Allerdings hat die Klasse kein Signal "itemRightClicked()". Eine alternarive wäre "itemPressed()", aber das reagiert auch auf Linksklicks. Wer weiß wie ich so was hinbekomme?

mfg energetic
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Wie wäre es denn damit:

Code: Alles auswählen

void QAbstractItemView::mousePressEvent ( QMouseEvent * event ) 
oder

Code: Alles auswählen

void QAbstractScrollArea::contextMenuEvent ( QContextMenuEvent * e )
errorX
Beiträge: 2
Registriert: 3. August 2009 14:52
Wohnort: Karlsruhe

Beitrag von errorX »

Du könntest von QTreeWidget ableiten und dafür die mouseEvents neu implementieren. Wenn du dann das mouseEvent überlädst, rufst du zuerst das Original-Event auf. Dieses setzt dann das gewünschte Item als aktuelles Item, das du dir über die Methode QTreeWidget::currentItem() zurückgeben lassen kannst.

Du schreibst das Signal itemRightClicked(QTreeWidgetItem* item) in die Klasse, sendest es mit dem currentItem et voilà.

MfG
errorX
Antworten