def pickPath(self): initialPath = self.uiFilenameTXT.text() or self.defaultLocation initialPath = str(initialPath) while not os.path.exists(initialPath): if os.path.dirname(initialPath) == initialPath: break else: initialPath = os.path.dirname(initialPath) if QApplication.keyboardModifiers() == Qt.ControlModifier: import blurdev blurdev.osystem.explore(initialPath) else: if self._pickFolder: filepath = QFileDialog.getExistingDirectory( self, self._caption, initialPath) elif self._openFile: filepath, _ = QtCompat.QFileDialog.getOpenFileName( self, self._caption, initialPath, self._filters) else: filepath, _ = QtCompat.QFileDialog.getSaveFileName( self, self._caption, initialPath, self._filters) if filepath: self.uiFilenameTXT.setText(filepath) if (not self.signalsBlocked()): self.filenamePicked.emit(filepath)
def mousePressEvent(self, event): modifiers = QApplication.keyboardModifiers() if modifiers == Qt.AltModifier: pos = self.mapToGlobal((self.rect().topLeft())) QWhatsThis.showText(pos, self.whatsThis()) else: super(BaseWidget, self).mousePressEvent(event)
def is_shift_modifier(): """ Returns True if the Shift key is down :return: bool """ modifiers = QApplication.keyboardModifiers() return modifiers == Qt.ShiftModifier
def is_control_modifier(): """ Returns True if the Control key is down :return: bool """ modifiers = QApplication.keyboardModifiers() return modifiers == Qt.ControlModifier
def is_alt_modifier(): """ Return True if the Alt key is down :return: bool """ modifiers = QApplication.keyboardModifiers() return modifiers == Qt.AltModifier
def keyPressEvent(self, event): modifiers = QApplication.keyboardModifiers() if type(event) == QKeyEvent: if modifiers != Qt.ControlModifier: return if event.key() == Qt.Key_Z: self._undo_action.trigger() elif event.key() == Qt.Key_Y: self._redo_action.trigger()
def is_control_modifier(self): """ Returns whether control modifier is active or not :return: bool """ modifiers = QApplication.keyboardModifiers() is_alt_modifier = modifiers == Qt.AltModifier is_ctrl_modifier = modifiers == Qt.ControlModifier return is_alt_modifier or is_ctrl_modifier
def mousePressEvent(self, event): """ Overrides base QDialog mousePressEvent :param event: :return: """ if not QApplication.keyboardModifiers() == self.OVERLAY_ACTIVE_KEY: event.ignore() return self.widgetMousePress.emit(event) self._PRESSED = True self.update()
def eventFilter(self, obj, event): eventType = event.type() keyMod = QApplication.keyboardModifiers() # KEY PRESSED if eventType == QEvent.KeyPress: key = event.key() if key == Qt.Key_Escape: self.parent.finish(completed=False) elif key == Qt.Key_Return or key == Qt.Key_Enter: self.parent.finish(completed=True) return super(KeyFilter, self).eventFilter(obj, event)
def _selection_modifiers(self): """ Internal function that returns a dictionary with the current key modifiers :return: dict """ result = {'add': False, 'deselect': False} modifiers = QApplication.keyboardModifiers() if modifiers == Qt.ShiftModifier: result['deselect'] = True elif modifiers == Qt.ControlModifier: result['add'] = True return result
def mousePressEvent(self, event): modifiers = QApplication.keyboardModifiers() if modifiers == Qt.AltModifier: pos = self.mapToGlobal((self.rect().topLeft())) QWhatsThis.showText(pos, self.whatsThis()) return super(TreeWidget, self).mousePressEvent(event) item = self.itemAt(event.pos()) if not item: self._clear_selection() else: self._current_item = item
def wheelEvent(self, event): """ Overrides base wheelEvent function Triggered on any wheel events for the current widget :param event: QWheelEvent """ modifier = QApplication.keyboardModifiers() valid_modifiers = (Qt.AltModifier, Qt.ControlModifier) if modifier in valid_modifiers: num_degrees = event.delta() / 8 num_steps = num_degrees / 15 delta = (num_steps * self.wheel_scroll_step()) value = self.zoom_amount() + delta self.set_zoom_amount(value)
def eventFilter(self, obj, event): eventType = event.type() keyMod = QApplication.keyboardModifiers() # CANCEL FOR NAVIGATION if keyMod == Qt.AltModifier: pass # MOUSE CLICK elif eventType == QEvent.MouseButtonRelease: if event.button() == Qt.LeftButton: position = gui.viewToWorld(event.pos().x(), event.pos().y()) self.parent.appendPosition(position) elif event.button() == Qt.RightButton: self.parent.finish(completed=True) return super(ClickFilter, self).eventFilter(obj, event)