禁用QGraphicsView中的橡皮筋选择,并且只有一个选项

时间:2018-08-25 12:09:22

标签: pyside qgraphicsview

如何禁用QGraphiscView中的Rubberband选择,仅允许用户在工具中单击一次选择单个项目?

谢谢

1 个答案:

答案 0 :(得分:1)

如果我的理解是正确的,那么您想禁用橡皮筋选择并且仍然能够左键单击以选择项目(允许使用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标志,那么您仍然可以照常选择它们。

希望有帮助。