2009-02-27 8 views

Répondre

1

Si vous n'êtes pas intéressé par subclassing, vous pouvez également créer un filtre d'événements classer et installer ce filtre sur l'objet dans lequel vous voulez écouter (dans ce cas, le QListView).

Pour plus d'informations, voir QObject::installEventFilter().

2

Essayez d'œuvre une nouvelle forme de Hériter de classe QListView et re-mettre en œuvre:

void QAbstractItemView::mousePressEvent (QMouseEvent * event) [virtual protected]. 

J'espère que ce sera utile. Salu2

+0

Je l'ai fait, mais après le traitement du nouveau signal créé, le clic droit de la souris est également envoyé au QDockWidget. –

1

Salu2 est correcte, même si vous êtes juste après un menu contextuel (le clic droit), vous pouvez réimplémentez QWidget :: contextMenuEvent

1

Que diriez-vous de QApplication :: mousebuttons()? C'est ce que la documentation suggère de faire pour trouver le bouton.

+0

Comment utiliser QApplication :: mousebuttons()? J'ai le même problème. J'essaie d'utiliser cette fonction, cependant, il ne renvoie pas correctement Qt :: RightButton ou Qt :: LeftButton><. –

Questions connexes