Abfragen ob die maus auf einem PushButton ist.

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
zp3x_
User
Beiträge: 2
Registriert: Sonntag 19. Dezember 2021, 08:35

Hallo ich bin gerade am verzweifeln wie ich abfragen kann ob die Maus auf einem PushButton ist.
und zwar möchte ist das wenn die Maus auf dem Button ist das ein shortcut erstellt wird (aber das bekomme ich ja selbst hin)
und wenn sie nicht mehr auf dem Button ist soll der Shortcut wieder geändert werden bzw removed.

mein code:

Code: Alles auswählen

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel
import random



def clicked():
    global hitter
    xHitter = random.randint(50, 1800)
    yHitter = random.randint(50, 900)
    hitter.move(xHitter, yHitter)
    if hitter.underMouse():
        hitter.setShortcut("x")


app = QApplication(sys.argv)
root = QWidget()
root.resize(1920, 1080)
root.setStyleSheet("background-color: rgb(15, 15, 15)")

hitter = QPushButton(root)
hitter.setStyleSheet("background-color: rgb(255, 255, 255)")
hitter.clicked.connect(clicked)
hitter.resize(50, 50)
hitter.setShortcut("x")

hitter.show()
root.show()

app.exec_()
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das sollte mit einem Event Filter gehen, der erlaubt dir, die hover Events anzufangen.

Mit globalen Variablen und ohne OOP wird GUI Programmierung aber schnell unübersichtlich.
Antworten