예제 #1
0
 def eventFilter(self, source, event):
     if source == self.title_frame:
         # check if lmb is pressed
         if app.mouseButtons() & Qt.LeftButton:
             # check if the mouse is moving
             if event.type() == QEvent.MouseMove:
                 if self.ignore_movement:
                     return QMainWindow.eventFilter(self, source, event)
                 if self.isMaximized():
                     max_width = self.width()
                     cursor_position = QCursor.pos().x()
                     self.showNormal()
                     new_width = self.previousWidth
                     new_x = cursor_position - new_width // 2
                     new_x = max(+70, new_x)
                     new_x = min(new_x, max_width - new_width + 70)
                     self.drag_root_position.setX(cursor_position - new_x)
                     self.move(new_x, 0)
                 else:
                     if QCursor.pos().y() < 3:
                         self._menu_buttons('maximise')
                         self.ignore_movement = True
                     else:
                         self.move(event.pos() +
                                   self.title_frame.mapToGlobal(
                                       self.title_frame.pos()) -
                                   self.drag_root_position)
             elif event.type() == 2:
                 # init root position
                 self.drag_root_position = self.title_frame.mapToGlobal(
                     event.pos()) - self.pos()
         else:
             self.ignore_movement = False
     return QMainWindow.eventFilter(self, source, event)
예제 #2
0
 def eventFilter(self, object, event):
     '''
     事件过滤器,双击佐助轮回眼让其显现出来。
     '''
     if object == self.label_zhuozhu2:
         if event.type() == QEvent.MouseButtonDblClick:
             self.dockWidget_2.show()
     return QMainWindow.eventFilter(self, object, event)
 def eventFilter(self, source, event):
     if event.type() == QEvent.MouseMove:
         if event.buttons() == Qt.NoButton:
             if event.pos().y() >= squareSize * 16:
                 self.unsetCursor()
             elif self.cursor_img is not None \
                     and event.pos().y() > squareSize:
                 self.setCursor(QCursor(QPixmap(self.cursor_img)))
     return QMainWindow.eventFilter(self, source, event)
예제 #4
0
 def eventFilter(self, source, event):
     if event.type() == QEvent.MouseMove:
         if event.buttons() == Qt.NoButton or event.buttons() == Qt.LeftButton:
             pos = event.windowPos()
             self.mouse_window_x = pos.x()
             self.mouse_window_y = pos.y()
         else:
             pass  # do other stuff
     return QMainWindow.eventFilter(self, source, event)
예제 #5
0
 def eventFilter(self, source, event):
     """ Add/remove a few keyboard and mouse events. """
     if event.type() == QEvent.KeyPress:
         if event.key() == Qt.Key_Return:
             # RETURN triggers Preview for eigenvalues
             if source in [self.eigList, self.numContours]:
                 self.on_genPlot_clicked()
                 return True
     return QMainWindow.eventFilter(self, source, event)
예제 #6
0
 def eventFilter(self, source, event):
     """ Add/remove a few keyboard and mouse events. """
     if event.type() == QEvent.KeyPress:
         if event.key() == Qt.Key_Return:
             # RETURN triggers Preview for eigenvalues
             if source in [self.eigList, self.numContours]:
                 self.on_genPlot_clicked()
                 return True
     return QMainWindow.eventFilter(self, source, event)
예제 #7
0
 def eventFilter(self, QObject, QEvent):
     if (QObject == self.inputEdit):
         if (QEvent.type() == QEvent.KeyPress):
             if (QEvent.matches(QKeySequence.Paste)):
                 self.inputEdit.myPaste()
                 self.inputEdit.completer().popup().hide()
                 return True
         return False
     else:
         return QMainWindow.eventFilter(QObject, QEvent)
예제 #8
0
    def eventFilter(self, source, event):
        if event.type() == QEvent.MouseButtonPress:
            """
            if source == self.ui.advancedOpenButton:
                self.ui.settingsAdvanced.show()
                self.ui.settingsAdvanced.setGeometry(10, 296, 261, 449)

            if source == self.ui.advancedCloseButton:
                self.ui.settingsAdvanced.hide()
            """

        return QMainWindow.eventFilter(self, source, event)
예제 #9
0
 def eventFilter(self, source, event):
     """ Add/remove a few keyboard and mouse events. """
     if event.type() == QEvent.KeyPress:
         if event.key() == Qt.Key_Return:
             # domains and parameters: RETURN triggers Preview
             if source in [self.domains, self.parameters]:
                 self.on_preview_clicked()
                 return True
     if event.type() == QEvent.MouseButtonPress:
         if event.button() == Qt.RightButton:
             # stop VTK from capturing right click
             if source.__class__.__name__ == 'QVTKRenderWindowInteractor':
                 return True
     return QMainWindow.eventFilter(self, source, event)
예제 #10
0
    def eventFilter(self, widget, event):
        event_types = [QEvent.Resize, QEvent.Show, 24]

        if event.type() in event_types and isinstance(widget, QLabel) and hasattr(widget, 'plot_pixmap'):
            widget.setPixmap(widget.plot_pixmap.scaled(widget.size(), Qt.KeepAspectRatio, Qt.SmoothTransformation))
        if event.type() in event_types and isinstance(widget, QTextEdit) and hasattr(widget, 'c_updating'):
            if widget.c_updating:
                widget.c_updating = False
            else:
                widget.c_updating = True
                doc_height = widget.document().size().toSize().height()
                widget.setMinimumHeight(doc_height)
        # noinspection PyCallByClass,PyTypeChecker
        return QMainWindow.eventFilter(self, widget, event)
예제 #11
0
 def eventFilter(self, source, event):
     """ Add/remove a few keyboard and mouse events. """
     if event.type() == QEvent.KeyPress:
         if event.key() == Qt.Key_Return:
             # domains and parameters: RETURN triggers Preview
             if source in [self.domains, self.parameters]:
                 self.on_preview_clicked()
                 return True
     if event.type() == QEvent.MouseButtonPress:
         if event.button() == Qt.RightButton:
             # stop VTK from capturing right click
             if source.__class__.__name__ == 'QVTKRenderWindowInteractor':
                 return True
     return QMainWindow.eventFilter(self, source, event)
예제 #12
0
    def eventFilter(self, widget, event):
        """Adds new behavior for certain events."""

        # Resize event
        # Or what should happen to the image widget when the user resizes the main window
        if event.type(
        ) == QEvent.Resize and widget is self.image_area and self.image_area.pixmap is not None:
            self.image_area.setPixmap(
                QPixmap.fromImage(self.model.modified_image).scaled(
                    self.image_area.width(),
                    self.image_area.height(),
                    aspectRatioMode=Qt.KeepAspectRatio,
                    transformMode=Qt.SmoothTransformation))
            # Update new dimensions for later use
            self.image_area.w = self.image_area.width()
            self.image_area.h = self.image_area.height()
            return True

        return QMainWindow.eventFilter(self, widget, event)
예제 #13
0
 def eventFilter(self, obj, ev):
     """
     Public method called to filter an event.
     
     @param obj object, that generated the event (QObject)
     @param ev the event, that was generated by object (QEvent)
     @return flag indicating if event was filtered out
     """
     if obj == self.mainWidget:
         if ev.type() == QEvent.Close:
             self.__handleCloseEvent()
         return True
     else:
         if isinstance(self.mainWidget, QDialog):
             return QDialog.eventFilter(self, obj, ev)
         elif isinstance(self.mainWidget, QMainWindow):
             return QMainWindow.eventFilter(self, obj, ev)
         else:
             return False
예제 #14
0
 def eventFilter(self, obj, ev):
     """
     Public method called to filter an event.
     
     @param obj object, that generated the event (QObject)
     @param ev the event, that was generated by object (QEvent)
     @return flag indicating if event was filtered out
     """
     if obj == self.mainWidget:
         if ev.type() == QEvent.Close:
             self.__handleCloseEvent()
         return True
     else:
         if isinstance(self.mainWidget, QDialog):
             return QDialog.eventFilter(self, obj, ev)
         elif isinstance(self.mainWidget, QMainWindow):
             return QMainWindow.eventFilter(self, obj, ev)
         else:
             return False
예제 #15
0
    def eventFilter(self, source, event):
        # event filter for a mouse movement over the mouse capture region
        # for random key gen
        if event.type() == QtCore.QEvent.MouseMove:
            if (event.buttons() == QtCore.Qt.NoButton and self.isTrackEnabled
                    and source == self.ui.mouseCaptureRegion):
                pos = event.pos()
                self.cursorMoved(pos.x(), pos.y())

        if event.type() == QtCore.QEvent.MouseButtonPress:
            if (event.buttons() == QtCore.Qt.LeftButton
                    and source == self.ui.padding_LeftArrow
                    and self.ui.padding_LeftArrow.isEnabled()):
                self.paddingArrow_Clicked(0)

        if event.type() == QtCore.QEvent.MouseButtonPress:
            if (event.buttons() == QtCore.Qt.LeftButton
                    and source == self.ui.padding_RightArrow
                    and self.ui.padding_RightArrow.isEnabled()):
                self.paddingArrow_Clicked(1)

        return QMainWindow.eventFilter(self, source, event)
예제 #16
0
    def eventFilter(self, source, event):
        if event.type() == QEvent.MouseMove:
            [x, y] = [event.pos().x(), event.pos().y()]
            #print([x,y])

        return QMainWindow.eventFilter(self, source, event)
예제 #17
0
 def eventFilter(self, obj, event):
     if obj is self.imLabel:
         if event.type() == QEvent.Resize:
             self.image_list_widget_item_selected()
     return QMainWindow.eventFilter(self, obj, event)
예제 #18
0
 def eventFilter(self, obj, event):
     return QMainWindow.eventFilter(self, obj, event)
예제 #19
0
    def eventFilter(self, obj, event):
        if not isinstance(obj, QMainWindow) and isinstance(event, QEnterEvent):
            self.setCursor(Qt.ArrowCursor)

        return QMainWindow.eventFilter(self, obj, event)
예제 #20
0
 def eventFilter(self, source, event):
     if event.type() == QEvent.Close and source is self.fields:
         self.viewDock.setChecked(False)
     return QMainWindow.eventFilter(self, source, event)
예제 #21
0
 def eventFilter(self, watched_obj, event):
     if (event.type() == QEvent.MouseButtonPress) or (event.type() == QEvent.KeyPress) \
             or (event.type() == QEvent.MouseMove):
         self.sleep_time = 0
     return QMainWindow.eventFilter(self.ui, watched_obj, event)