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

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

项目:CPNSimulatorGui    作者:chris-kuhr    | 项目源码 | 文件源码
def __init__(self, editor, token, count, qpos, parent=None):        
        '''Create a token.

        :param editor: DiagramEditor. Editor to show in. 
        :param token: Token value.
        :param count: Number of Tokens to create.
        :param qpos: Parent top right position.  
        :param parent=None: Parent Place Element
        '''
        QtGui.QGraphicsEllipseItem.__init__(self, qpos, parent)
        self.editor = editor
        self.setZValue(19)
        self.countToken = count
        self.countTokenLabel = QtGui.QGraphicsTextItem("%d"%self.countToken, self)
        self.countTokenLabel.setPos(QtCore.QPointF( qpos.x()-1, qpos.y()-4 ))
        self.setBrush(QtGui.QBrush(QtCore.Qt.green))
        self.token = token
        self.setToolTip( str(self.token) )
        self.setFlags(self.ItemIsSelectable | self.ItemIsMovable )
    #------------------------------------------------------------------------------------------------
项目:CPNSimulatorGui    作者:chris-kuhr    | 项目源码 | 文件源码
def __init__(self, parent=None):  
        '''Create description canvas.

        :param parent: Abstract CPN element.
        '''
        super(DescriptionCanvas, self).__init__(parent)
        self.parent = parent
        self.text = self.parent.uniqueName
        self.setPen(QtGui.QPen(QtCore.Qt.darkYellow, 1))
        self.setBrush(QtGui.QBrush(QtCore.Qt.darkYellow))
        self.setFlags(self.ItemIsSelectable | self.ItemIsMovable | self.ItemSendsScenePositionChanges )
        self.label = QtGui.QGraphicsTextItem( "%s: %s"%(self.parent.uniqueName, self.parent.name), parent=self )  
#         self.label.setFlag(self.ItemIsMovable, True)
        rect = self.label.boundingRect()
        self.setRect(rect.x() + 30, rect.y() + 20, rect.width(), rect.height())
        self.label.setPos(rect.x() + 30, rect.y() + 20)
        self.label.setZValue(21)   
        self.setZValue(20)      
        self.visibility = False
        self.setVisibility( self.visibility ) 
    #------------------------------------------------------------------------------------------------
项目:Bigglesworth    作者:MaurizioB    | 项目源码 | 文件源码
def __init__(self, main, index, rect, *args, **kwargs):
        QtGui.QGraphicsWidget.__init__(self, *args, **kwargs)
        self.main = main
        self.index = index
        rect.setTop(-100)
        rect.setBottom(rect.bottom()+100)
        self.setGeometry(rect)
        self.setAcceptHoverEvents(True)
        self.pen = QtGui.QPen(QtGui.QColor(QtCore.Qt.lightGray))
        self.brush = self.bgd_brushes[0]
        self.index_item = QtGui.QGraphicsTextItem(str(index+1), self)
        self.index_item.setFlags(self.index_item.ItemIgnoresTransformations)
        font = self.index_item.font()
        font.setPointSize(7)
        self.index_item.setFont(font)
        self.index_item.setY(90)
        self.index_item.setTextWidth(20)
        if (self.index+1) % 8:
            self.index_item.setVisible(False)
        else:
            self.index_item.setX(-16)
        self.selected = False
        self.highlight = False
项目:CPNSimulatorGui    作者:chris-kuhr    | 项目源码 | 文件源码
def __init__(self, direction, parent=None):
        '''Create a port

        :param direction:  Port direction: (i)nput, (o)utput, (io) bidirectional.
        :param parent: Parent port place.
        '''
        super(PortItem, self).__init__(QtCore.QRectF(-4.0,-4.0,17.0,17.0), parent)
        self.posChangeCallbacks = []
        self.setBrush(QtGui.QBrush(QtCore.Qt.white))
        self.setFlags(self.ItemIsSelectable | self.ItemIsMovable | self.ItemSendsScenePositionChanges)
        self.label = QtGui.QGraphicsTextItem("", self)
        self.label.setPos(QtCore.QPointF( -4, -7))
        self.direction = direction
        self.setZValue(9)
    #------------------------------------------------------------------------------------------------
项目:Modular_Rigging_Thesis    作者:LoganKelly    | 项目源码 | 文件源码
def addText(self):
        font = QtGui.QFont("SansSerif", 14)
        font.setStyleHint(QtGui.QFont.Helvetica)
        font.setStretch(100)
        self.displayText = QtGui.QGraphicsTextItem(self.displayText, self)
        self.displayText.setFlag(QtGui.QGraphicsItem.ItemIsSelectable,False)
        self.displayText.setFont(font)
        self.displayText.setDefaultTextColor(QtGui.QColor(QtCore.Qt.white))
        self.displayText.setPos(self.boundingRect().center().x() - (self.displayText.boundingRect().width()/2) + 5, self.sceneBoundingRect().center().y()/2 + 5)
项目:Modular_Rigging_Thesis    作者:LoganKelly    | 项目源码 | 文件源码
def addText(self):
        font = QtGui.QFont("SansSerif", 14)
        font.setStyleHint(QtGui.QFont.Helvetica)
        font.setStretch(100)
        self.displayText = QtGui.QGraphicsTextItem(self.displayText, self)
        self.displayText.setFont(font)
        self.displayText.setDefaultTextColor(QtGui.QColor(QtCore.Qt.white))
        self.displayText.setPos(self.boundingRect().center().x() - (self.displayText.boundingRect().width()/2) + 5, self.sceneBoundingRect().center().y()/2 + 5)
项目:Modular_Rigging_Thesis    作者:LoganKelly    | 项目源码 | 文件源码
def addText(self):
        font = QtGui.QFont("SansSerif", 14)
        font.setStyleHint(QtGui.QFont.Helvetica)
        font.setStretch(100)
        self.displayText = QtGui.QGraphicsTextItem(self.displayText, self)
        self.displayText.setFont(font)
        self.displayText.setDefaultTextColor(QtGui.QColor(QtCore.Qt.white))
        self.displayText.setPos(self.boundingRect().center().x() - (self.displayText.boundingRect().width()/2) + 5, self.sceneBoundingRect().center().y()/2 + 5)
项目:Modular_Rigging_Thesis    作者:LoganKelly    | 项目源码 | 文件源码
def addText(self):
        font = QtGui.QFont("SansSerif", 14)
        font.setStyleHint(QtGui.QFont.Helvetica)
        font.setStretch(100)
        self.displayText = QtGui.QGraphicsTextItem(self.displayText, self)
        self.displayText.setFont(font)
        self.displayText.setDefaultTextColor(QtGui.QColor(QtCore.Qt.white))
        self.displayText.setPos(self.boundingRect().center().x() - (self.displayText.boundingRect().width()/2) + 5, self.sceneBoundingRect().center().y()/2 + 5)
项目:Bigglesworth    作者:MaurizioB    | 项目源码 | 文件源码
def redraw(self, *args):
        self.compute(self.col_spin.value(), self.vertical_chk.isChecked())
        if self.mode == TEXT:
            self.printview.resetTransform()
            self.page.hide()
            self.printview.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
            self.printview.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
            self.printscene.removeItem(self.monotext)
            self.monotext = QtGui.QGraphicsTextItem()
            self.monotext.setPlainText(self.text.replace('\t\t', '        ').replace('\t', '    '))
            self.monotext.setFont(self.monofont)
            self.printscene.addItem(self.monotext)
            self.printview.setAlignment(QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
            #for some reason, very long plain text contents always set QGraphicsTextItem's height to 2012, then we use metrics
            self.printview.setSceneRect(0, 0, self.monotext.boundingRect().width(), QtGui.QFontMetrics(self.monofont).lineSpacing()*len(self.text.split('\n')))
            self.printview.verticalScrollBar().setValue(0)
            self.printview.horizontalScrollBar().setValue(0)
            return
        self.monotext.hide()
        self.printview.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.printview.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.printview.setAlignment(QtCore.Qt.AlignCenter)
        self.page.setText(self.text)
        self.page.show()
        self.printview.setSceneRect(self.page.boundingRect())
        self.printview.fitInView(self.page.boundingRect(), QtCore.Qt.KeepAspectRatio)
        self.pagebank_chk.toggled.connect(self.page.setPageBank)
项目:CPNSimulatorGui    作者:chris-kuhr    | 项目源码 | 文件源码
def createItem(self, editor, name='Untitled', nodeType="undefined" ):
        '''Create the typed item.

        :param editor:  `gui.DiagramEditor`. Editor to show in. 
        :param name: Name of the CPN element. 
        :param nodeType: Determining the type of the item at creation time.        
        :return w, h: Width and height of CPN element, depending on the label length. 
        '''
        self.parent = editor
        self.name = name
        self.nodeType = nodeType        
        self.superNet = self.parent.subnet

        self.label = QtGui.QGraphicsTextItem( name, self )        

        self.descCanvas = DescriptionCanvas(self)

        rect = self.label.boundingRect()        
        w = rect.width() + 20.0
        h = rect.height() + 20.0
        if h < 20:
            h = 20
        if w < 40:
            w = 40

        self.setRect(0.0, 0.0, w, h)
        rect = self.label.boundingRect()
        lw, lh = rect.width(), rect.height()
        lx = (w - lw) / 2
        ly = (h - lh) / 2
        self.label.setPos(lx, ly)

        rect = self.boundingRect()
        pos = self.scenePos()

        for idx in range(0,20):
            connector = Connector(self, idx)
            self.connectorList.append( connector )
            for orientation in connector.orientation:
                self.connectorMap[orientation].append(connector)

        if self.tokens is not None:
            for token in self.tokens:
                token.setRect( pos.x() + rect.width(), pos.y(), 10.0, 10.0)
                break      
        return w, h          
    #------------------------------------------------------------------------------------------------
项目:CPNSimulatorGui    作者:chris-kuhr    | 项目源码 | 文件源码
def __init__(self, editor, srcConnector, dstConnector, name="undefined", isPortConnection=False):
        '''

        :param editor: `gui.DiagramEditor`. Editor to show in.
        :param srcConnector: Source `model.AbstractItem.Connector`.
        :param dstConnector: Destination `model.AbstractItem.Connector`.
        :param name: Expression of the CPN arc assigned by the user. 
        :param isPortConnection: Flag that determines, whether the arc represents the connection between a substitution transition and a port place..
        '''
        QtGui.QGraphicsItem.__init__(self, None)
        self.editor = editor
        self.srcConnector = srcConnector
        self.dstConnector = dstConnector 
        self.isPortConnection = isPortConnection
        self.name = ""
        self.arcDefined = False
        self.variable = None
        self.expression = None
        self.diag = None        
        self.pos1 = None
        self.pos2 = None
        self.arrowPolygon = None
        self.replaceExpression = None
#         self.subnet = subnet
        self.setZValue(12)

        if self.srcConnector:            
            rect = self.srcConnector.rect()
            pos = self.mapFromItem( self.srcConnector, self.srcConnector.position )
            self.pos1 = QtCore.QPointF(pos.x() + rect.width()/2, pos.y() + rect.height()/2  )
            self.srcConnector.posCallbacks.append(self.setBeginPos)
            self.srcConnector.connectionArc = self

        self.arcLine = LineItem(self)
        self.editor.diagramScene.addItem(self.arcLine)  
        self.arrowPolygon = QtGui.QPolygonF( [ 
                                         QtCore.QPointF(  0.0,  0.0),
                                         QtCore.QPointF(  0.0, 10.0), 
                                         QtCore.QPointF( 10.0,  5.0)
                                         ] )
        self.arrowPolygonObject = self.editor.diagramScene.addPolygon( self.arrowPolygon )  
        self.label = QtGui.QGraphicsTextItem(name, self)
        self.label.setFlags(self.ItemIsSelectable | self.ItemIsMovable)
        self.editor.diagramScene.addItem(self.label)   

    #------------------------------------------------------------------------------------------------