Qt, wie um zu prüfen, welche Maustaste gedrückt ist
Habe ich Probleme in PySide, während Sie versuchen zu ermitteln, welche Maustaste gedrückt, Ereignis-Funktion. Ich brauche es vor allem für das ignorieren mouse-move-Ereignis, weil es dabei job auf beiden Maustasten, Links und rechts.
Will ich ignorieren mouse-move-Ereignis, wenn die Taste scene gedrückt wird. Keine Hilfe?
InformationsquelleAutor Alex | 2013-05-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alle Maus-events haben zwei Methoden (
button
undbuttons
), um festzustellen, welche Tasten gedrückt werden. Aber nur fürmove
Veranstaltung die Dokumentation sagt:für
mouseMoveEvent
Sie verwenden solltenbuttons
Methode.Um zu ignorieren, verschieben Ereignisse, die Sie tun müssen, um diese Arbeit in
eventFilter
natürlich.Sie sind willkommen, ich werde Ihre Frage über
eventFilter
so bald wie möglich, aber ich bin in der Lage, Ihnen C++ - code nur.HIER veröffentlicht: stackoverflow.com/questions/16772227/...
InformationsquelleAutor fasked
QApplication::mouseButtons()
zurückkehren wird, den statusmouseButton
,so können Sie den status der Maus in
KeyPressEvent
.InformationsquelleAutor ken
können Sie prüfen, welche Maustaste gedrückt wird über
Qt::RightButton
. Sorry für c++ - code, aber ich hoffe, Sie verstehen würden, Idee sowieso:Dies funktioniert nicht für mich. Das widget erhält
QContextMenuEvent
stattQMouseEvent
egal was ich mache - auch wenn ich kein Menü, und versuchen, zu verwendensetContextMenuPolicy
verändert nichts.InformationsquelleAutor Shf
Könnten Sie einen booleschen Wert:
und auf mouseMoveEvent
Auf mouserelease müssen Sie gedrückt=false; ( "gedrückt" werden, muss ein Mitglied der Klasse)
Hoffe es hilft,lassen Sie mich wissen,
Dies scheint nicht zu funktionieren, es schien nur um die Abholung der Maus-Taste, wenn Sie die Erklärung Lesen:
if (event->buttons() == Qt::LeftButton)
zum Beispiel, anstattbutton()
.InformationsquelleAutor Nicola