falsche Aktivität bei Aktion
Verfasst: Samstag 29. März 2025, 16:06
Hallo zusammen,
hoffe der Betreff irritiert Euch nicht zu sehr!
Ich habe zu meinem Problem ein Beispiel eingefügt, welches dies wieder gibt.
Folgendes, bei diesem Beispiel klickt man zuerst auf das leere Fenster, das eine MessageBox öffnet, um bei 'Yes' ein Folgeereignis auszulösen.
Wenn das Fenster der MessageBox geöffnet ist, veränder sich mein Courser und der Fokus ist auf dem leeren Fenster statt auf der MessageBox.
Hoffe Ihr könnt mir hier helfen!
Grüße Nobuddy
hoffe der Betreff irritiert Euch nicht zu sehr!
Ich habe zu meinem Problem ein Beispiel eingefügt, welches dies wieder gibt.
Folgendes, bei diesem Beispiel klickt man zuerst auf das leere Fenster, das eine MessageBox öffnet, um bei 'Yes' ein Folgeereignis auszulösen.
Wenn das Fenster der MessageBox geöffnet ist, veränder sich mein Courser und der Fokus ist auf dem leeren Fenster statt auf der MessageBox.
Code: Alles auswählen
import sys
from PyQt5.QtCore import (
Qt,
QEvent
)
from PyQt5.QtWidgets import (
QApplication,
QMainWindow,
QLabel,
QMessageBox,
QHBoxLayout
)
class TestClass(QMainWindow):
def __init__(self):
super().__init__()
# create eventFilter
self.installEventFilter(self)
self.show()
def nextStep(self):
if self.ask():
container = QLabel(self)
hb = QHBoxLayout(self)
hb.addWidget(QLabel('<<< Welcome >>>'))
container.setLayout(hb)
self.setCentralWidget(container)
else:
self.close()
def ask(self):
mb = QMessageBox
r = mb.question(None,'', "Start application?", mb.Yes | mb.No)
if r == mb.Yes:
return True
else:
return False
def mousePressEvent(self, event):
if event.type() == QEvent.MouseButtonPress:
if event.button() == Qt.LeftButton:
self.pressPos = event.pos()
self.nextStep()
super().mousePressEvent(event)
def main():
App = QApplication(sys.argv)
obj = TestClass()
sys.exit(App.exec())
if __name__ == '__main__':
main()
Grüße Nobuddy