Python PyQt4.QtGui 模块,QGraphicsScene() 实例源码

我们从Python开源项目中,提取了以下17个代码示例,用于说明如何使用PyQt4.QtGui.QGraphicsScene()

项目:siren    作者:ozsolarwind    | 项目源码 | 文件源码
def __init__(self):
        QtGui.QGraphicsScene.__init__(self)
        self.exitLoop = False
        self.loopMax = 0
        self.get_config()
        self._gridGroup = None
        self._mgridGroup = None
        self.setBackgroundBrush(QtGui.QColor(self.colors['background']))
        if os.path.exists(self.map_file):
            war = QtGui.QImageReader(self.map_file)
            wa = war.read()
            pixMap = QtGui.QPixmap.fromImage(wa)
        else:
            ratio = abs(self.map_upper_left[1] - self.map_lower_right[1]) / \
                     abs(self.map_upper_left[0] - self.map_lower_right[0])
            pixMap = QtGui.QPixmap(200 * ratio, 200)
            if self.map != '':
                painter = QtGui.QPainter(pixMap)
                brush = QtGui.QBrush(QtGui.QColor('white'))
                painter.fillRect(QtCore.QRectF(0, 0, 200 * ratio, 200), brush)
                painter.setPen(QtGui.QColor('lightgray'))
                painter.drawText(QtCore.QRectF(0, 0, 200 * ratio, 200), QtCore.Qt.AlignCenter,
                                 'Map not found.')
                painter.end()
        self.addPixmap(pixMap)
        w = self.width()
        h = self.height()
        if isinstance(self.line_width, float):
            if self.line_width < 1:
                self.line_width = w * self.line_width
        self.upper_left = [0, 0, self.map_upper_left[1], self.map_upper_left[0]]
        self.lower_right = [w, h, self.map_lower_right[1], self.map_lower_right[0]]
        self.setSceneRect(-w * 0.05, -h * 0.05, w * 1.1, h * 1.1)
        self._positions = {}
        self._setupCoordTransform()
项目:ImgAnnotaPyQt4    作者:ZhengRui    | 项目源码 | 文件源码
def __init__(self, parent=None):
        QtGui.QGraphicsView.__init__(self, parent)
        self.scene = QtGui.QGraphicsScene(self)
        self.scene.setBackgroundBrush(QtGui.QBrush(QtCore.Qt.darkGray, QtCore.Qt.SolidPattern))
        self.setScene(self.scene)

        self.setDragMode(QtGui.QGraphicsView.ScrollHandDrag)
        self.setTransformationAnchor(QtGui.QGraphicsView.AnchorUnderMouse)
        self.viewport().setCursor(QtCore.Qt.CrossCursor)
        self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)

        self._pan = False
        self._draw = False
        self._moved = False
        self._sel = False
        self.pen = None
        self.penid = None
        self.cmap = None
        self.penwidth = 4
        self._redoStack = []
        self._histStates = []
        self._baseRects = []
项目:Bigglesworth    作者:MaurizioB    | 项目源码 | 文件源码
def __init__(self, parent):
        QtGui.QGraphicsView.__init__(self, parent)
        self.main = parent
        self.setFrameStyle(0)
        self.scene = QtGui.QGraphicsScene(self)
        self.setScene(self.scene)
        self.setStyleSheet('background: transparent')
        self.shadow = QtGui.QGraphicsDropShadowEffect()
        self.shadow.setBlurRadius(4)
        self.shadow.setOffset(1, 1)
        self.shadow.setColor(QtGui.QColor(100, 100, 100, 150))
        self.create_layout()
        self.setSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)

        for char in range(16):
            char_object = FakeObject(self)
            char_object.valueChanged.connect(lambda value, char=char: self.prog_name.setChar(char, value))
            parent.object_dict['Name_Char_{:02}'.format(char)].add(char_object)
        cat_object = FakeObject(self)
        cat_object.valueChanged.connect(lambda value: self.cat_name.setCat(value))
        parent.object_dict['Category'].add(cat_object)
        self.prog_name.letter_changed.connect(lambda id, char: setattr(self.main, 'Name_Char_{:02}'.format(id), char))
项目:CPNSimulatorGui    作者:chris-kuhr    | 项目源码 | 文件源码
def mouseMoveEvent(self, event):
        '''Forward mouseMoveEvent during arc creation and reimplement hovering of `model.AbstractItem.Connector`.

        :param event: `QtGui.mouseMoveEvent`.
        '''
        hovering = None
        for item in self.items( event.scenePos() ):
            if issubclass(item.__class__, Connector):
                hovering = item
        # Left
        if hovering is None and self.hovering is not None:
            # Emit hoverLeave on self.slotHover
            self.hovering.hoverLeaveEvent(event)
        # Entered
        if hovering is not None and self.hovering is None:
            # Emit hoverEvent on hoverslot
            hovering.hoverEnterEvent(event)
        if hovering is not None and self.hovering is not None:
            self.hovering.hoverLeaveEvent(event)
            hovering.hoverEnterEvent(event)

        # Save for next move
        self.hovering = hovering

        self.editor.sceneMouseMoveEvent(event)
        super(DiagramScene, self).mouseMoveEvent(event)
    #------------------------------------------------------------------------------------------------

#     def wheelEvent(self, event):
#         QtGui.QGraphicsScene.wheelEvent(self, event)
#     #------------------------------------------------------------------------------------------------
项目:CPNSimulatorGui    作者:chris-kuhr    | 项目源码 | 文件源码
def mouseReleaseEvent(self, event):
        '''Forward mouseReleaseEvent during arc creation.

        :param event: `QtGui.mouseReleaseEvent`.
        '''
        self.editor.sceneMouseReleaseEvent(event)
        super(DiagramScene, self).mouseReleaseEvent(event)
    #------------------------------------------------------------------------------------------------

#     def mouseDoubleClickEvent (self, event):
#         QtGui.QGraphicsScene.mouseDoubleClickEvent(self, event)
#     #-----------------------------------------------------------------------------------------------


#========================================================================================================================
项目:CPNSimulatorGui    作者:chris-kuhr    | 项目源码 | 文件源码
def __init__(self):
        super(QtGui.QMainWindow, self).__init__()    
        self.diagramScene = QtGui.QGraphicsScene(self)  
        uic.loadUi('arrow.ui', self)  
        self.graphicsView.setScene( self.diagramScene )
        t1 = QtGui.QGraphicsRectItem(QtCore.QRectF(20,20,100,50 )) 
        t1.setBrush(QtGui.QBrush(QtCore.Qt.white))
#         t1.setFlag( QtGui.QGraphicsItem.ItemIsSelectable | QtGui.QGraphicsItem.ItemIsMoveable )
        self.diagramScene.addItem(t1) 
        p1 = QtGui.QGraphicsEllipseItem(QtCore.QRectF(200,200,100,50))
        p1.setBrush(QtGui.QBrush(QtCore.Qt.white))
#         p1.setFlags( QtGui.QGraphicsItem.ItemIsSelectable | QtGui.QGraphicsItem.ItemIsMoveable )
        arc1 = ArcItem(self, self.diagramScene)
        arc1.arcLine.setLine(20,20,200,200)
        arc1.setPolygon()
        self.diagramScene.addItem(p1)
        self.show()
        pass
项目:PySCUBA    作者:GGiecold    | 项目源码 | 文件源码
def adornGraphicsVerticalLayout(self, MainWindow):
        self.scene = QtGui.QGraphicsScene(self.centralwidget)

        self.graphicsView = QtGui.QGraphicsView(self.scene)
        self.graphicsView.setFrameShadow(QtGui.QFrame.Raised)
        self.graphicsView.setLineWidth(3)
        self.graphicsView.setVerticalScrollBarPolicy(
            QtCore.Qt.ScrollBarAlwaysOn)
        self.graphicsView.setHorizontalScrollBarPolicy(
            QtCore.Qt.ScrollBarAlwaysOn)
        self.graphicsView.setTransformationAnchor(
            QtGui.QGraphicsView.AnchorUnderMouse)
        self.graphicsView.setResizeAnchor(
            QtGui.QGraphicsView.AnchorUnderMouse)
        self.graphicsView.setBackgroundBrush(
            QtGui.QBrush(QtGui.QColor(245,245,245)))
        self.graphicsView.setFrameShape(QtGui.QFrame.NoFrame)
        self.graphicsView.setObjectName(_fromUtf8("graphicsView"))
        self.graphicsVerticalLayout.addWidget(self.graphicsView)

        self.displayHorizontalLayout = QtGui.QHBoxLayout()
        self.displayHorizontalLayout.setObjectName(
            _fromUtf8("displayHorizontalLayout"))
        self.graphicsVerticalLayout.addLayout(self.displayHorizontalLayout)

        self.displayHorizontalLayout.addStretch(1)
        self.displayFileButton = QtGui.QPushButton(self.centralwidget)
        self.displayFileButton.setToolTip("Various files and figures will "
            "show up in this box as they are\nbeing produced by the PySCUBA "
            "analysis of your data.\nClick on any of those and it will be "
            "displayed in an adjacent\ngraphics box.")
        self.displayFileButton.setObjectName(_fromUtf8("displayFileButton"))
        self.displayHorizontalLayout.addWidget(self.displayFileButton)
        self.displayHorizontalLayout.addStretch(1)
项目:dxf2gcode    作者:cnc-club    | 项目源码 | 文件源码
def __init__(self):
        QtGui.QGraphicsScene.__init__(self)
        self.setSceneRect(0,-600,800,500)
项目:ImgAnnotaPyQt4    作者:ZhengRui    | 项目源码 | 文件源码
def __init__(self, parent=None):
        super(QTestView, self).__init__(parent)
        self.scene = QtGui.QGraphicsScene(self)
        self.scene.setBackgroundBrush(QtGui.QBrush(QtCore.Qt.darkGray, QtCore.Qt.SolidPattern))
        self.setScene(self.scene)
项目:krakrobot2016-online    作者:uj-robotics    | 项目源码 | 文件源码
def init_ui(self):
        self.frames_timer = QtCore.QTimer(self)
        self.frames_timer.timeout.connect(self.frames_update)
        self.animation_timer = QtCore.QTimer(self)
        self.animation_timer.timeout.connect(self.animation_update)

        self.setScene(QtGui.QGraphicsScene(self))
        self.setTransformationAnchor(self.AnchorUnderMouse)
        self.setDragMode(self.ScrollHandDrag)
        self.setCacheMode(self.CacheBackground)
        self.setViewportUpdateMode(self.NoViewportUpdate)
项目:Bigglesworth    作者:MaurizioB    | 项目源码 | 文件源码
def __init__(self, *args, **kwargs):
        QtGui.QGraphicsView.__init__(self, *args, **kwargs)
        self.scene = QtGui.QGraphicsScene()
        self.setScene(self.scene)
        self.setRenderHints(QtGui.QPainter.Antialiasing)
        self.setMinimumHeight(128)
        self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.setSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
        self.setBackgroundBrush(QtCore.Qt.lightGray)
        self.pen = QtGui.QPen(QtGui.QColor(QtCore.Qt.darkGray), 2)

        self.wavepath = None
项目:Bigglesworth    作者:MaurizioB    | 项目源码 | 文件源码
def __init__(self, parent=None, lower='c2', higher='c7', key_list=None, key_list_start=12):
        QtGui.QGraphicsView.__init__(self, parent)
        self.scene = QtGui.QGraphicsScene(self)
        self.main = parent
        self.keys = {}
        self.setFrameStyle(0)
        self.scene = QtGui.QGraphicsScene(self)
        self.setScene(self.scene)
        self.draw_keyboard(lower, higher, key_list, key_list_start)
项目:Bigglesworth    作者:MaurizioB    | 项目源码 | 文件源码
def __init__(self, *args, **kwargs):
        QtGui.QGraphicsView.__init__(self, *args, **kwargs)
        self.setScene(QtGui.QGraphicsScene())
        self.setRenderHints(QtGui.QPainter.Antialiasing)
        self.setBackgroundBrush(QtGui.QColor(32, 32, 32))
        self.boundingRect = QtCore.QRectF()
        self.slice_transform = QtGui.QTransform().shear(0, 1)
        self.delta_x = 8192
        self.delta_y = 12288
        slice0 = QtGui.QGraphicsRectItem(0, 0, 128 * self.delta_x, pow21)
        slice0.setPen(self.cube_pen)
        slice0.setTransform(self.slice_transform)
        slice1 = QtGui.QGraphicsRectItem(0, 0, 128 * self.delta_x, pow21)
        slice1.setPen(self.cube_pen)
        slice1.setZValue(-200)
        slice1.setTransform(self.slice_transform)
        slice1.setPos(63 * self.delta_x, -63 * self.delta_y)
        self.boundingRect = slice0.sceneBoundingRect().united(slice1.sceneBoundingRect())
        height = self.boundingRect.height()
        self.boundingRect.setTop(-height * .25)
        self.boundingRect.setBottom(height * .85)
        self.scene().setSceneRect(self.boundingRect)

        #add nice 3D cube
        self.scene().addItem(slice0)
        self.scene().addItem(slice1)
        l = self.scene().addLine(slice0.sceneBoundingRect().x(), slice0.sceneBoundingRect().y(), slice1.sceneBoundingRect().x(), slice1.sceneBoundingRect().y())
        l.setPen(self.cube_pen)
        l = self.scene().addLine(QtCore.QLineF(slice0.mapToScene(slice0.boundingRect().topRight()), slice1.mapToScene(slice1.boundingRect().topRight())))
        l.setPen(self.cube_pen)
        l = self.scene().addLine(QtCore.QLineF(slice0.mapToScene(slice0.boundingRect().bottomRight()), slice1.mapToScene(slice1.boundingRect().bottomRight())))
        l.setPen(self.cube_pen)
        l = self.scene().addLine(QtCore.QLineF(slice0.mapToScene(slice0.boundingRect().bottomLeft()), slice1.mapToScene(slice1.boundingRect().bottomLeft())))
        l.setZValue(-200)
        l.setPen(self.cube_pen)

        self.currentWave = None
项目:ipmap-creator    作者:ASP-Labs    | 项目源码 | 文件源码
def __init__(self, parent=None):
        super(SvgView, self).__init__(parent)

        self.svgItem = None
        self.image = QtGui.QImage()
        self.setScene(QtGui.QGraphicsScene(self))
        self.setTransformationAnchor(QtGui.QGraphicsView.AnchorUnderMouse)
        self.setDragMode(QtGui.QGraphicsView.ScrollHandDrag)
项目:ipmap-creator    作者:ASP-Labs    | 项目源码 | 文件源码
def runFile(self, svg_file):
        if not svg_file.exists():
            return
        self.setScene(QtGui.QGraphicsScene(self))
        s = self.scene()
        s.clear()

        self.svgItem = QtSvg.QGraphicsSvgItem(svg_file.fileName())
        self.svgItem.setFlags(QtGui.QGraphicsItem.ItemClipsToShape)
        self.svgItem.setCacheMode(QtGui.QGraphicsItem.NoCache)
        self.svgItem.setZValue(0)
        s.addItem(self.svgItem)
项目:base_function    作者:Rockyzsu    | 项目源码 | 文件源码
def __init__(self):
        super(MyWidget, self).__init__()
        self.setFixedSize(300, 300)
        self.setSceneRect(0, 0, 250, 250)
        self.scene = QGraphicsScene()
        self.setScene(self.scene)
        self.scene.addItem(MyArrow())
项目:Bigglesworth    作者:MaurizioB    | 项目源码 | 文件源码
def __init__(self, parent):
        QtGui.QGraphicsView.__init__(self, parent)
        self.main = parent
        self.setFrameStyle(0)
        self.scene = QtGui.QGraphicsScene(self)
        self.setRenderHints(QtGui.QPainter.Antialiasing)
        self.setScene(self.scene)
        self.setStyleSheet('background: transparent')
        self.create_layout()
        self.setMinimumSize(600, 160)
        self.setSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.MinimumExpanding)

        for step in range(16):
            step_object = FakeObject(self)
            step_object.valueChanged.connect(lambda value, step=step: self.step_type_list[step]._setCurrentIndex(value))
            parent.object_dict['Arp_Pattern_Step_Glide_Accent_{}'.format(step+1)].add(step_object, 'Step')
            glide_object = FakeObject(self)
            glide_object.valueChanged.connect(lambda state, step=step: self.glide_list[step]._setState(state))
            parent.object_dict['Arp_Pattern_Step_Glide_Accent_{}'.format(step+1)].add(glide_object, 'Glide')
            accent_object = FakeObject(self)
            accent_object.valueChanged.connect(lambda value, step=step: self.step_list[step].setAccent(value))
            parent.object_dict['Arp_Pattern_Step_Glide_Accent_{}'.format(step+1)].add(accent_object, 'Accent')
            timing_object = FakeObject(self)
            timing_object.valueChanged.connect(lambda value, step=step: self.step_list[step].setTiming(value))
            parent.object_dict['Arp_Pattern_Timing_Length_{}'.format(step+1)].add(timing_object, 'Timing')
            length_object = FakeObject(self)
            length_object.valueChanged.connect(lambda value, step=step: self.step_list[step].setLength(value))
            parent.object_dict['Arp_Pattern_Timing_Length_{}'.format(step+1)].add(length_object, 'Length')
#        self.valueChanged.connect(lambda value: setattr(self.main, self.attr, value))
#        parent.object_dict[attr].add(self, sub_par)
#        self.indexChanged.connect(lambda id: setattr(self.main, self.attr, id if sub_par is None else (id, sub_par)))