def eventFilter(self, obj, event):
     """Custom Events Filder for detecting clicks on Tabs."""
     if obj == self:
         if event.type() == QEvent.MouseMove:
             index = self.tabAt(event.pos())
             self.setCurrentIndex(index)
             return True
         else:
             return QTabBar.eventFilter(self, obj, event)  # False
     else:
         return QMainWindow.eventFilter(self, obj, event)
Exemple #2
0
 def eventFilter(self, widget, event):
     """ Overloaded object method
         Params: QObject widget -> watched object (here: self)
                 QEvent event -> the event that is handled
         Return: True if the event is handled
                 Return value of QTabBar.eventFilter() if the event is not handled (bool)
         Determines editing is canceled if a click event is recorded outside of the _editor or if [esc] is pressed by hiding the _editor object.
         Else, the event is passed on to the parent class.
     """
     if ((event.type() == QEvent.MouseButtonPress and not self._editor.geometry().contains(event.globalPos())) or (event.type() == QEvent.KeyPress and event.key() == Qt.Key_Escape)):
         self._editor.hide()
         return True
     return QTabBar.eventFilter(self, widget, event)