множественный выбор в pyside2 QGraphicsScene с помощью клавиши Shift - PullRequest
0 голосов
/ 03 августа 2020

Я создаю подкласс QGraphicsScene в PySide2 и хочу использовать клавишу Shift вместо клавиши управления.

клавиша управления работает нормально, я просто хочу заменить ее на shift, и я написал этот код в своем классе QGraphicsScene, но не работает нормально

def mouseReleaseEvent(self, event):
    item = self.itemAt(event.scenePos() , QtGui.QTransform() )
    if item:
        item.setSelected(1)
    else:
        if len(self._selectedItemVec):
            self._selectedItemVec.popleft()
            return QtWidgets.QGraphicsScene.mouseReleaseEvent(self, event)
    if event.modifiers() & Qt.ShiftModifier:
        for item in self._selectedItemVec:
            item.setSelected(1)


def mousePressEvent(self, event):

    item = self.itemAt(event.scenePos() , QtGui.QTransform() )
    if item and event.modifiers() & Qt.ShiftModifier:
        item.setSelected(1)
        self._selectedItemVec.append(item)
    elif item :
        item.setSelected(1)
    else:
        return QtWidgets.QGraphicsScene.mousePressEvent(self, event)
...