我们从Python开源项目中,提取了以下17个代码示例,用于说明如何使用PyQt4.QtGui.QGraphicsScene()。
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()
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 = []
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))
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) # #------------------------------------------------------------------------------------------------
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) # #----------------------------------------------------------------------------------------------- #========================================================================================================================
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
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)
def __init__(self): QtGui.QGraphicsScene.__init__(self) self.setSceneRect(0,-600,800,500)
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)
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)
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
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)
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
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)
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)
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())
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)))