Отключить выбор Rubberband в QGraphicsView и выбрать только один элемент - PullRequest
0 голосов
/ 25 августа 2018

Как я могу отключить выбор Rubberband в QGraphiscView и разрешить пользователям только щелкать по выделенным элементам в качестве времени в инструменте?

Спасибо

1 Ответ

0 голосов
/ 28 августа 2018

Если я правильно понимаю, вы хотите отключить выбор резиновой ленты и по-прежнему иметь возможность щелкать левой кнопкой мыши для выбранных элементов (с помощью модификатора Ctrl для выбора нескольких элементов, по одному за раз).

Так что, если это так, вам нужно использовать метод QGraphicsView::setDragMode и установить опцию QGraphicsView::NoDrag. Вы можете достичь этого непосредственно из вашего QGraphicsView объекта или подкласса QGraphicsView и добавив вызов метода в конструктор, например так (PySide):

from PySide.QtGui import *
from PySide.QtCore import *


class MyGraphicsView(QGraphicsView):
    def __init__(self, parent = None):
        super(MyGraphicsView, self).__init__(parent = parent)
        self.setDragMode(QGraphicsView.NoDrag)

Если у ваших графических элементов установлен флаг Qt::ItemIsSelectable, вы все равно сможете выбрать их как обычно.

Надеюсь, это поможет.

...