Python PyQt5.QtCore.QEvent.MouseButtonRelease() Examples
The following are 9
code examples of PyQt5.QtCore.QEvent.MouseButtonRelease().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
PyQt5.QtCore.QEvent
, or try the search function
.
Example #1
Source File: webelem.py From qutebrowser with GNU General Public License v3.0 | 8 votes |
def _click_fake_event(self, click_target: usertypes.ClickTarget, button: Qt.MouseButton = Qt.LeftButton) -> None: """Send a fake click event to the element.""" pos = self._mouse_pos() log.webelem.debug("Sending fake click to {!r} at position {} with " "target {}".format(self, pos, click_target)) target_modifiers = { usertypes.ClickTarget.normal: Qt.NoModifier, usertypes.ClickTarget.window: Qt.AltModifier | Qt.ShiftModifier, usertypes.ClickTarget.tab: Qt.ControlModifier, usertypes.ClickTarget.tab_bg: Qt.ControlModifier, } if config.val.tabs.background: target_modifiers[usertypes.ClickTarget.tab] |= Qt.ShiftModifier else: target_modifiers[usertypes.ClickTarget.tab_bg] |= Qt.ShiftModifier modifiers = typing.cast(Qt.KeyboardModifiers, target_modifiers[click_target]) events = [ QMouseEvent(QEvent.MouseMove, pos, Qt.NoButton, Qt.NoButton, Qt.NoModifier), QMouseEvent(QEvent.MouseButtonPress, pos, button, button, modifiers), QMouseEvent(QEvent.MouseButtonRelease, pos, button, Qt.NoButton, modifiers), ] for evt in events: self._tab.send_event(evt) QTimer.singleShot(0, self._move_text_cursor)
Example #2
Source File: PushButtonDelegateQt.py From KStock with GNU General Public License v3.0 | 6 votes |
def editorEvent(self, event, model, option, index): ''' Handle mouse events in cell. On left button release in this cell, call model's setData() method, wherein the button clicked action should be handled. Currently, the value supplied to setData() is the button text, but this is arbitrary. ''' if event.button() == Qt.LeftButton: if event.type() == QEvent.MouseButtonPress: if option.rect.contains(event.pos()): self._isMousePressed = True return True elif event.type() == QEvent.MouseButtonRelease: self._isMousePressed = False if option.rect.contains(event.pos()): model.setData(index, self.text, Qt.EditRole) # Model should handle button click action in its setData() method. return True return False
Example #3
Source File: CheckBoxDelegateQt.py From KStock with GNU General Public License v3.0 | 6 votes |
def editorEvent(self, event, model, option, index): ''' Change the data in the model and the state of the checkbox if the user presses the left mouse button and this cell is editable. Otherwise do nothing. ''' if not (index.flags() & Qt.ItemIsEditable): return False if event.button() == Qt.LeftButton: if event.type() == QEvent.MouseButtonRelease: if self.getCheckBoxRect(option).contains(event.pos()): self.setModelData(None, model, index) return True elif event.type() == QEvent.MouseButtonDblClick: if self.getCheckBoxRect(option).contains(event.pos()): return True return False
Example #4
Source File: QtMouseDevice.py From Uranium with GNU Lesser General Public License v3.0 | 6 votes |
def handleEvent(self, event): if event.type() == QEvent.MouseButtonPress: ex, ey = self._normalizeCoordinates(event.windowPos().x(), event.windowPos().y()) e = MouseEvent(MouseEvent.MousePressEvent, ex, ey, self._x, self._y, self._qtButtonsToButtonList(event.buttons())) self._x = ex self._y = ey self.event.emit(e) elif event.type() == QEvent.MouseMove: ex, ey = self._normalizeCoordinates(event.windowPos().x(), event.windowPos().y()) e = MouseEvent(MouseEvent.MouseMoveEvent, ex, ey, self._x, self._y, self._qtButtonsToButtonList(event.buttons())) self._x = ex self._y = ey self.event.emit(e) elif event.type() == QEvent.MouseButtonRelease: ex, ey = self._normalizeCoordinates(event.windowPos().x(), event.windowPos().y()) e = MouseEvent(MouseEvent.MouseReleaseEvent, ex, ey, self._x, self._y, self._qtButtonsToButtonList(event.button())) self._x = ex self._y = ey self.event.emit(e) elif event.type() == QEvent.Wheel: delta = event.angleDelta() e = WheelEvent(delta.x(), delta.y()) self.event.emit(e)
Example #5
Source File: eventfilter.py From qutebrowser with GNU General Public License v3.0 | 5 votes |
def __init__(self, tab, *, parent=None): super().__init__(parent) self._tab = tab self._handlers = { QEvent.MouseButtonPress: self._handle_mouse_press, QEvent.MouseButtonRelease: self._handle_mouse_release, QEvent.Wheel: self._handle_wheel, QEvent.KeyRelease: self._handle_key_release, } self._ignore_wheel_event = False self._check_insertmode_on_release = False
Example #6
Source File: main_window.py From Blender-Version-Manager with GNU General Public License v3.0 | 5 votes |
def eventFilter(self, obj, event): if event.type() in [QEvent.MouseButtonRelease]: if isinstance(obj, QMenu): if obj.activeAction(): if not obj.activeAction().menu(): obj.activeAction().trigger() return True return super(BVMQMainWindow, self).eventFilter(obj, event)
Example #7
Source File: videoslider.py From vidcutter with GNU General Public License v3.0 | 5 votes |
def eventFilter(self, obj: QObject, event: QMouseEvent) -> bool: if event.type() == QEvent.MouseButtonRelease and event.button() == Qt.LeftButton: if self.parent.mediaAvailable and self.isEnabled(): newpos = QStyle.sliderValueFromPosition(self.minimum(), self.maximum(), event.x() - self.offset, self.width() - (self.offset * 2)) self.setValue(newpos) self.parent.setPosition(newpos) self.parent.parent.mousePressEvent(event) return super(VideoSlider, self).eventFilter(obj, event)
Example #8
Source File: blipdriver.py From bluesky with GNU General Public License v3.0 | 4 votes |
def event(self, event): if not self.initialized: return super(BlipDriver, self).event(event) self.makeCurrent() if event.type() in [QEvent.MouseMove, QEvent.MouseButtonPress, QEvent.MouseButtonRelease]: px = 2.0 * (event.x()) / self.width - 1.0 py = 10.0 * (self.height - event.y()) / self.height - 1.0 if event.type() == QEvent.MouseButtonPress and event.button() & Qt.LeftButton: self.btn_pressed, _ = check_knob(px, py) if self.btn_pressed is not None: self.drag_start = event.x(), event.y() QTimer.singleShot(100, self.updateAPValues) elif event.type() == QEvent.MouseButtonRelease and event.button() & Qt.LeftButton: # print px, py self.btn_pressed = None col_triangles = 6 * [255, 255, 255, 180] update_buffer(self.updown.colorbuf, np.array(col_triangles, dtype=np.uint8)) # MCP button clicked? name, idx = check_btn(px, py) if name is not None: self.btn_state[idx] = not self.btn_state[idx] btn_color = [] for b in self.btn_state: btn_color += 24 * [255] if b else 24 * [0] update_buffer(self.btn_leds.colorbuf, np.array(btn_color, dtype=np.uint8)) elif event.type() == QEvent.MouseMove: if event.buttons() & Qt.LeftButton and self.btn_pressed is not None: self.rate = float(self.drag_start[1] - event.y()) / self.height if self.rate > 1e-2: col_triangles = 3 * [255, 140, 0, 255] + 3 * [255, 255, 255, 180] elif self.rate < 1e-2: col_triangles = 3 * [255, 255, 255, 180] + 3 * [255, 140, 0, 255] else: col_triangles = 6 * [255, 255, 255, 180] update_buffer(self.updown.colorbuf, np.array(col_triangles, dtype=np.uint8)) return True # Mouse-over for knobs name, self.updownpos = check_knob(px, py) # ismcp = float(self.height - event.y()) / self.height <= 0.2 return super(BlipDriver, self).event(event)
Example #9
Source File: qcheckcombobox.py From artisan with GNU General Public License v3.0 | 4 votes |
def eventFilter(self, obj, event): """Reimplemented.""" if self.__popupIsShown and \ event.type() == QEvent.MouseMove and \ self.view().isVisible() and self.__initialMousePos is not None: diff = obj.mapToGlobal(event.pos()) - self.__initialMousePos if diff.manhattanLength() > 9 and \ self.__blockMouseReleaseTimer.isActive(): self.__blockMouseReleaseTimer.stop() # pass through if self.__popupIsShown and \ event.type() == QEvent.MouseButtonRelease and \ self.view().isVisible() and \ self.view().rect().contains(event.pos()) and \ self.view().currentIndex().isValid() and \ self.view().currentIndex().flags() & Qt.ItemIsSelectable and \ self.view().currentIndex().flags() & Qt.ItemIsEnabled and \ self.view().currentIndex().flags() & Qt.ItemIsUserCheckable and \ self.view().visualRect(self.view().currentIndex()).contains(event.pos()) and \ not self.__blockMouseReleaseTimer.isActive(): model = self.model() index = self.view().currentIndex() state = model.data(index, Qt.CheckStateRole) model.setData(index, Qt.Checked if state == Qt.Unchecked else Qt.Unchecked, Qt.CheckStateRole) self.view().update(index) self.update() self.flagChanged.emit(index.row(),state == Qt.Unchecked) return True if self.__popupIsShown and event.type() == QEvent.KeyPress: if event.key() == Qt.Key_Space: # toogle the current items check state model = self.model() index = self.view().currentIndex() flags = model.flags(index) state = model.data(index, Qt.CheckStateRole) if flags & Qt.ItemIsUserCheckable and \ flags & Qt.ItemIsTristate: state = Qt.CheckState((int(state) + 1) % 3) elif flags & Qt.ItemIsUserCheckable: state = Qt.Checked if state != Qt.Checked else Qt.Unchecked model.setData(index, state, Qt.CheckStateRole) self.view().update(index) self.update() self.flagChanged.emit(index.row(),state != Qt.Unchecked) return True # TODO: handle Qt.Key_Enter, Key_Return? return super(CheckComboBox, self).eventFilter(obj, event)