Ich bin ziemlich neu zu Qt (PyQt - PySide).
Ich versuche ein benutzerdefiniertes Widget zu erstellen, das ein Menü ist. Aber ich bin auf eine harte Tour gestoßen und ich kann mich anscheinend nicht beruhigen. Ich habe die Dokumentation gelesen, aber ich glaube nicht, dass es einen Mausstatus gibt, den ich überprüfen kann, um herauszufinden, ob sich der Mauszeiger über dem angegebenen Widget befindet.Woher weiß ich, ob sich die Maus über dem Widget befindet?
Ich rufe eine Funktion auf mouseReleaseEvent
von QWidget
.
Bsp .:
def mouseReleaseEvent(self, e):
Wenn dieses Ereignis ausgelöst wird, muss ich wissen, ob die Maus tatsächlich über das Widget oder außerhalb davon (das Widget von dem dieses Ereignis ausgelöst wird).
if mouseCursorOverSelf == True:
# do something ..
Wie kann ich das erreichen? Was muss ich tun?
Vielen Dank!
Können Sie etwas mehr Code, idealerweise mit einer vollständigen Probe bereitzustellen, die das Problem zeigt? Wenn Sie die Ereignismethoden für ein Widget überschreiben, werden sie implizit für dieses Widget aufgerufen, sofern Sie nicht die Maus greifen. –
Hallo Andreas. Wenn Sie auf ein Widget klicken, halten Sie die Maustaste gedrückt, ziehen Sie den Mauszeiger jedoch über ein anderes Widget von ** diesem ** weg, wenn Sie die Maustaste loslassen, wird mouseReleaseEvent weiterhin ausgelöst. Ich muss zum Zeitpunkt der Veröffentlichung wissen, ob der Cursor über dem Widget ist. Wie kann ich das machen? – Phil