Exemple #1
0
 def mousePressEvent(self, event):
     if event.button() == Qt.RightButton:
         # Rewrite the mouse event to a left button event so the cursor is
         # moved to the location of the pointer.
         event = QMouseEvent(QEvent.MouseButtonPress, event.pos(),
                             Qt.LeftButton, Qt.LeftButton, Qt.NoModifier)
     QPlainTextEdit.mousePressEvent(self, event)
Exemple #2
0
    def mouseMoveEvent(self, event: QMouseEvent):
        # Move is only triggered with left mouse button pressed
        if event.buttons() == Qt.LeftButton:
            self.setCursor(QCursor(Qt.ClosedHandCursor))
            global_position = event.globalPos()
            diff = global_position - self._mouse_move_pos

            self._notify(SplineHandleWidgetMoveEvent(self, diff.x(), diff.y()))
            self._mouse_move_pos = global_position
Exemple #3
0
def send_click(view, pos, button=Qt.MouseButton.LeftButton, double_click=False):
    mods = QApplication.keyboardModifiers()
    if double_click:
        ev = QMouseEvent(QEvent.Type.MouseButtonDblClick, pos, button, button, mods)
        QApplication.postEvent(view.viewport(), ev)
        return
    ev = QMouseEvent(QEvent.Type.MouseButtonPress, pos, button, button, mods)
    QApplication.postEvent(view.viewport(), ev)
    ev = QMouseEvent(QEvent.Type.MouseButtonRelease, pos, button, button, mods)
    QApplication.postEvent(view.viewport(), ev)
Exemple #4
0
    def mouseMoveEvent(self, event: Qt.QMouseEvent):
        if self.dragging:
            scale_factor = self.scale / self.fig.get_dpi()
            self.center[0] -= (event.x() - self.drag_start[0]) * scale_factor
            self.center[1] += (event.y() - self.drag_start[1]) * scale_factor
            self.drag_start = (event.x(), event.y())

            self.do_update = True
            # self.update_plot()
            self.center_changed.emit(self.center)
Exemple #5
0
 def mouseMoveEvent(self, event: Qt.QMouseEvent) -> None:
     super().mouseMoveEvent(event)
     for toolbar, notches in self.toolbars_notches.items():
         if not toolbar.is_notches_visible():
             continue
         for notch in notches:
             line = notch.line
             if line.x1() - 0.5 <= event.x() <= line.x1() + 0.5:
                 Qt.QToolTip.showText(event.globalPos(), notch.label)
                 return
    def mousePressEvent(self, event: QMouseEvent):
        logger.debug("MousePressEvent")
        if event.buttons() == Qt.LeftButton:
            self.__mouse_press_pos = event.globalPos()
            self.__command_handler.start_script()

            if event.modifiers() == Qt.AltModifier:
                self.__rubber_band.setGeometry(
                    QRect(self.__mouse_press_pos, QSize()))
                self.__rubber_band.show()
                self.__clear_selection()
Exemple #7
0
    def mousePressEvent(self, event: QMouseEvent):
        # key == 1 left; key == 2 right

        pos_rel_app = event.pos()
        key = event.button()

        pos_rel_map = pos_rel_app.x() - self.mapLabel.x(), pos_rel_app.y() - self.mapLabel.y()
        if 0 < pos_rel_map[0] < self.mapLabel.width() and 0 < pos_rel_map[1] < self.mapLabel.height():
            if key == 1:
                self.obj_by_click(pos_rel_map)
            elif key == 2:
                self.obj_by_click(pos_rel_map, True)
Exemple #8
0
def test_widget_notes_mark_event(qtbot):

    w = MainWindow()
    qtbot.addWidget(w)

    w.info.open_dataset(str(gui_file))
    channel_make_group(w)
    w.channels.button_apply.click()
    w.channels.new_group(test_name='eog')
    w.notes.update_notes(annot_psg_path)
    w.traces.Y_wider()
    w.traces.Y_wider()
    w.traces.action['cross_chan_mrk'].setChecked(True)
    w.traces.go_to_epoch(test_text_str='23:34:45')

    w.notes.new_eventtype(test_type_str='spindle')
    w.notes.action['new_event'].setChecked(True)
    w.notes.add_event('spindle', (24293.01, 24294.65), 'EEG Pz-Oz (scalp)')

    screenshot(w, 'notes_14_mark_event.png')

    w.notes.add_event('spindle', (24288.01, 24288.90), 'EEG Fpz-Cz (scalp)')
    w.notes.add_event('spindle', (24297.5, 24298.00), 'EEG Fpz-Cz (scalp)')

    screenshot(w, 'notes_20_mark_short_event.png')

    pos = w.traces.mapFromScene(QPointF(24294, 75))
    mouseclick = QMouseEvent(QEvent.MouseButtonPress, pos, Qt.LeftButton,
                             Qt.NoButton, Qt.NoModifier)
    w.traces.mousePressEvent(mouseclick)

    screenshot(w, 'notes_15_highlight_event.png')

    w.notes.delete_eventtype(test_type_str='spindle')
    w.close()
Exemple #9
0
 def mousePressEvent(self, event: Qt.QMouseEvent) -> None:
     super().mousePressEvent(event)
     pos = Qt.QPoint(event.pos())
     if self.scroll_rect.contains(pos):
         self.set_position(pos.x())
         self.clicked.emit(self.x_to_f(self.cursor_x, Frame),
                           self.x_to_t(self.cursor_x, Time))
 def mousePressEvent(self, event: Qt.QMouseEvent) -> None:
     super().mousePressEvent(event)
     pos = Qt.QPoint(event.pos())
     if self.scroll_rect.contains(pos):
         self.cursor_x = pos.x()
         self.clicked.emit(self.x_to_f(self.cursor_x), self.x_to_t(self.cursor_x))
         self.update()
Exemple #11
0
    def mouseReleaseEvent(self, event: Qt.QMouseEvent):
        super().mouseReleaseEvent(event)

        file_name = self.dog_sound_1 if event.button(
        ) == Qt.Qt.LeftButton else self.dog_sound_2
        file_name = Qt.QUrl.fromLocalFile(file_name)
        self.player.setMedia(Qt.QMediaContent(file_name))
        self.player.play()
Exemple #12
0
 def handle_tap_hold(self, action, tp):
     etype = {'start':QEvent.MouseButtonPress, 'update':QEvent.MouseMove, 'end':QEvent.MouseButtonRelease}[action]
     ev = QMouseEvent(etype, self.current_position(tp), tp.current_screen_position.toPoint(), Qt.LeftButton, Qt.LeftButton, Qt.NoModifier)
     QApplication.sendEvent(self.parent(), ev)
     if action == 'end':
         ev = QContextMenuEvent(QContextMenuEvent.Other, self.current_position(tp), tp.current_screen_position.toPoint())
         # We have to use post event otherwise the popup remains an alien widget and does not receive events
         QApplication.postEvent(self.parent(), ev)
    def __handle_widget_release(self,
                                widget: GraphItem,
                                mouse_event: QMouseEvent):
        if not mouse_event.modifiers() == Qt.ShiftModifier:
            self.__clear_selection()

        # Clear visible handles
        self.__clear_handles()

        if widget in self.__selection:
            self.__remove_selection(widget)
        else:
            self.__add_selection(widget)
 def mouseMoveEvent(self, event: QMouseEvent):
     if self.__mouse_press_pos is not None:
         global_position = event.globalPos()
         diff = global_position - self.__mouse_press_pos
         if self.__rubber_band.isVisible():
             self.__rubber_band.setGeometry(
                 QRect(self.mapFromGlobal(self.__mouse_press_pos),
                       event.pos()).normalized())
             # Add to selection if inside rubber band remove otherwise
             for widget in self.__model_widget_map.values():
                 if self.__rubber_band.geometry().contains(
                         widget.geometry()):
                     self.__add_selection(widget)
                 else:
                     self.__remove_selection(widget)
         else:
             self.setCursor(QtGui.QCursor(QtCore.Qt.ClosedHandCursor))
             self.__grid_offset += diff
             self.__grid.set_offset(self.__grid_offset)
             self.__grid_widget.set_offset(self.__grid_offset)
             self.__grid_widget.repaint()
             self.__model.move_graph_relative(diff.x(), diff.y())
             self.__mouse_press_pos = global_position
Exemple #15
0
 def handle_tap(self, tp):
     if self.close_open_menu():
         return
     view = self.parent()
     mf = view.document.mainFrame()
     r = mf.hitTestContent(self.current_position(tp))
     if r.linkElement().isNull():
         if view.document.tap_flips_pages:
             threshold = view.width() / 3.0
             attr = 'previous' if self.current_position(tp).x() <= threshold else 'next'
             getattr(view, '%s_page'%attr)()
     else:
         for etype in (QEvent.MouseButtonPress, QEvent.MouseButtonRelease):
             ev = QMouseEvent(etype, self.current_position(tp), tp.current_screen_position.toPoint(), Qt.LeftButton, Qt.LeftButton, Qt.NoModifier)
             QApplication.sendEvent(view, ev)
Exemple #16
0
 def send_fake_focus_if_needed(self):
     if self.needs_fake_focus:
         # We force Qt to call Focus() on the web view by sending this
         # event, see RenderWidgetHostViewQt::forwardEvent() and
         # RenderWidgetHostViewQt::handleMouseEvent() in the qtwebengine
         # source code to check that this both causes Focus() to be called
         # and has no other side-effects. This work around is needed because
         # without it, tabs opened by middle-clicking start out without
         # keyboard focus and require a click in the web view to get it.
         # This workaround may not be necessary once
         # https://bugreports.qt.io/browse/QTBUG-58515 is fixed.
         QApplication.sendEvent(
             self.focusProxy(),
             QMouseEvent(QMouseEvent.MouseButtonPress, QPoint(), QPoint(),
                         QPoint(), Qt.NoButton, Qt.NoButton, Qt.NoModifier,
                         Qt.MouseEventSynthesizedBySystem))
         self.needs_fake_focus = False
Exemple #17
0
 def mouse_move(self, ev: QMouseEvent):
     if self.state == STATE.NORMAL:
         return
     pos = ev.pos()
     valid, relative_pos = self.pos_in_img_area(pos)
     if valid:
         relative_pos = (int(relative_pos[0] / self.scale),
                         int(relative_pos[1] / self.scale))
         if self.state == STATE.DRAW_RECTANGLE:
             self.draw_rect(self.start_point, relative_pos)
             if self.labelimg is not None:
                 pic = self.draw_points()
                 self.show_pic(file_name=None, content=pic)
             else:
                 self.show_pic(file_name=None, content=self.panel_pic)
         elif self.state == STATE.DRAW_POLYGON:
             pass
         elif self.state == STATE.DRAW_ELLIPSE:
             pass
         else:
             raise NotImplementedError()
Exemple #18
0
    def mouseMoveEvent(self, event):
        '''
        @param: event QMouseEvent
        '''
        super().mouseMoveEvent(event)

        if gVar.app.plugins().processMouseMove(const.ON_TabBar, self, event):
            return

        if self.count() == 1 and gVar.app.windowCount() == 1:
            return

        if not self._dragStartPosition.isNull():
            offset = 0
            eventY = event.pos().y()
            if eventY < 0:
                offset = abs(eventY)
            elif eventY > self.height():
                offset = eventY - self.height()
            if offset > QApplication.startDragDistance() * 3:
                global_ = self.mapToGlobal(self._dragStartPosition)
                w = QApplication.widgetAt(global_)
                if w:
                    mouse = QMouseEvent(QEvent.MouseButtonRelease,
                                        w.mapFromGlobal(global_),
                                        Qt.LeftButton, Qt.LeftButton,
                                        event.modifiers())
                    QApplication.sendEvent(w, mouse)
                drag = QDrag(self)
                mime = QMimeData()
                mime.setData(self.MIMETYPE, b'')
                drag.setMimeData(mime)
                drag.setPixmap(self.tabPixmap(self.currentIndex()))
                if drag.exec_() == Qt.IgnoreAction:
                    self._tabWidget.detachTabByIndex(self.currentIndex())
                return
Exemple #19
0
 def __init__(self, widget: GraphItem, mouse_event: QMouseEvent, *args,
              **kwargs):
     super().__init__(widget, mouse_event.globalPos(), mouse_event, *args,
                      **kwargs)
Exemple #20
0
 def mouseMoveEvent(self, _event: QMouseEvent):
     point = self.chart().mapToValue(_event.pos())
     index = round(point.x())
     self.wizard.mouseMove(index)
Exemple #21
0
 def mouse_moved(self, event: Qt.QMouseEvent) -> None:
     if not event.buttons() & Qt.Qt.LeftButton:
         self.update_labels(event.pos())
Exemple #22
0
 def mouseMoveEvent(self, e: QMouseEvent):
     # self.diff_pos = e.pos() - self.diff_pos
     # print(diff+self.pos())
     mouse_pos = self.pos() + e.pos()
     self.move(mouse_pos - self.tmp_pos)
Exemple #23
0
 def mousePressEvent(self, e: QMouseEvent):
     self.tmp_pos = e.pos()
Exemple #24
0
 def mouseReleaseEvent(self, event: Qt.QMouseEvent):
     if not event.buttons() & QtCore.Qt.MiddleButton:
         self.dragging = False
Exemple #25
0
 def mousePressEvent(self, event: Qt.QMouseEvent):
     if event.buttons() & QtCore.Qt.MiddleButton:
         self.dragging = True
         self.drag_start = (event.x(), event.y())
 def mouse_moved(self, event: Qt.QMouseEvent) -> None:
     if self.tracking and not event.buttons():
         self.update_labels(event.pos())
Exemple #27
0
 def mouseReleaseEvent(self, event: Qt.QMouseEvent) -> None:
     super().mouseReleaseEvent(event)
     if event.button() == Qt.Qt.LeftButton:
         self.setDragMode(self.drag_mode)
     self.mouseReleased.emit(event)
Exemple #28
0
 def mousePressEvent(self, event: Qt.QMouseEvent) -> None:
     if event.button() == Qt.Qt.LeftButton:
         self.drag_mode = self.dragMode()
         self.setDragMode(Qt.QGraphicsView.ScrollHandDrag)
     super().mousePressEvent(event)
     self.mousePressed.emit(event)
 def mouse_pressed(self, event: Qt.QMouseEvent) -> None:
     if event.buttons() == Qt.Qt.RightButton:
         self.tracking = False
 def mouse_released(self, event: Qt.QMouseEvent) -> None:
     if event.buttons() == Qt.Qt.RightButton:
         self.tracking = True
     self.update_labels(event.pos())