Seite 1 von 1

QTreeWidget; Auf rechtsklick reagieren

Verfasst: 2. August 2009 21:54
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

Verfasst: 2. August 2009 22:03
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 )

Verfasst: 4. August 2009 00:43
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