Funkcja filtra zdarzeń zatrzymuje moich przycisków

0

Pytanie

To mój filtr zdarzeń, który ja ustawiam się w głównym oknie QWidget. To działa, aby przenieść moje okno, za pomocą prawego przycisku myszy. ale u mnie w oknie znajduje się kilka przycisków, które przestają działać i pozostają w wybranej fazie po kliknięciu na nich.Po usunięciu tego filtra zdarzeń wszystko idzie normalnie.
problem z przyciskami po filtra zdarzeń

def eventFilter(self, source, event):
        try:
            if (event.type() == QtCore.QEvent.MouseButtonPress and 
                event.button() == QtCore.Qt.RightButton):
                    self.startPos = event.pos()
                    return True
            elif event.type() == QtCore.QEvent.MouseMove and self.startPos is not None:
                self.move(self.pos() + event.pos() - self.startPos)
                return True
            elif event.type() == QtCore.QEvent.MouseButtonRelease:
                self.startPos = None
                return True
            
            return super(Ui_digiWidget, self).eventFilter(source, event)
        except Exception as e:print(e)
eventfilter events pyqt5 pyside2
2021-11-24 06:24:13
1

Najlepsza odpowiedź

0

Praktyka czyni nas lepszymi.

Zmienny

 elif event.type() == QtCore.QEvent.MouseButtonRelease :

Dla

elif (event.type() == QtCore.QEvent.MouseButtonRelease and 
                event.button() == QtCore.Qt.RightButton):

rozwiązał mój problem. Dziękuję Wszystkim.

2021-11-24 06:35:53

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................