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

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

项目: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 ) 
    #------------------------------------------------------------------------------------------------
项目:CPNSimulatorGui    作者:chris-kuhr    | 项目源码 | 文件源码
def setPolygon(self):
        '''Calculate position and rotation of the arc arrow head.'''
        rotDeg = 0            
        xlength = self.pos1.x() - self.pos2.x()
        ylength = self.pos1.y() - self.pos2.y()
        d = math.sqrt( math.pow( xlength , 2) + math.pow( ylength , 2) )        
        if d > 0:
            beta = math.acos( xlength / d )
            rotDeg = math.degrees( beta ) 

        self.arrowPolygonObject.setPolygon( QtGui.QPolygonF( [
                                                 QtCore.QPointF( (self.pos2.x() -10),  (self.pos2.y() +5)), 
                                                 QtCore.QPointF( (self.pos2.x() -10) , (self.pos2.y() -5)), 
                                                 QtCore.QPointF(       self.pos2.x() ,      self.pos2.y())
                                                 ] ) ) 

        self.arrowPolygonObject.setBrush( QtGui.QBrush(QtCore.Qt.black) )

        """ self.angle()!!!!!!!!!"""
#         self.arcLinePolygon.angle()
#         self.arcLinePolygon.rotate(rotDeg)
#         self.arcLinePolygon.setPos( self.pos2 ) 

    #------------------------------------------------------------------------------------------------
项目:CPNSimulatorGui    作者:chris-kuhr    | 项目源码 | 文件源码
def setPolygon(self):
        rotDeg = 0            
        xlength = self.pos1.x() - self.pos2.x()
        ylength = self.pos1.y() - self.pos2.y()
        d = math.sqrt( math.pow( xlength , 2) + math.pow( ylength , 2) )        
        if d > 0:
            beta = math.acos( xlength / d )
            rotDeg = math.degrees( beta ) 

        self.arcLinePolygon.setPolygon( QtGui.QPolygonF( [
                                                 QtCore.QPointF( (self.pos2.x() -10),  (self.pos2.y() +5)), 
                                                 QtCore.QPointF( (self.pos2.x() -10) , (self.pos2.y() -5)), 
                                                 QtCore.QPointF(       self.pos2.x() ,      self.pos2.y())
                                                 ] ) ) 

        self.arcLinePolygon.setBrush( QtGui.QBrush(QtCore.Qt.black) )

        """ self.angle()!!!!!!!!!"""
#         self.arcLinePolygon.angle()
#         self.arcLinePolygon.rotate(rotDeg)
#         self.arcLinePolygon.setPos( self.pos2 ) 
    #------------------------------------------------------------------------------------------------
项目:SameKeyProxy    作者:xzhou    | 项目源码 | 文件源码
def paint(self, painter, option, index):
        rowdata = self.model.getrowdata(index.row())

        color = QtCore.Qt.white
        if "status" in rowdata.__dict__:
            if rowdata.status == "S":
                color = QtGui.QColor(204, 255, 204) # Light green
        else:                    
            color = QtGui.QColor(255, 204, 204) # Light red

        painter.save()
        painter.setPen(QtGui.QPen(QtCore.Qt.NoPen))
        painter.setBrush(QtGui.QBrush(color))
        painter.drawRect(option.rect)
        painter.restore()            
        QtGui.QItemDelegate.paint(self, painter, option, index)
项目: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()
项目:dxf2gcode    作者:cnc-club    | 项目源码 | 文件源码
def backgroundButtonGroupClicked(self, button):
        buttons = self.backgroundButtonGroup.buttons()
        for myButton in buttons:
            if myButton != button:
                button.setChecked(False)

        text = button.text()
        if text == "Blue Grid":
            self.scene.setBackgroundBrush(QtGui.QBrush(QtGui.QPixmap(':/images/background1.png')))
        elif text == "White Grid":
            self.scene.setBackgroundBrush(QtGui.QBrush(QtGui.QPixmap(':/images/background2.png')))
        elif text == "Gray Grid":
            self.scene.setBackgroundBrush(QtGui.QBrush(QtGui.QPixmap(':/images/background3.png')))
        else:
            self.scene.setBackgroundBrush(QtGui.QBrush(QtGui.QPixmap(':/images/background4.png')))

        self.scene.update()
        self.view.update()
项目: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 = []
项目:cityscapesScripts    作者:mcordts    | 项目源码 | 文件源码
def drawPoint(self, qp, pt, isFirst, increaseRadius):
        # The first in green
        if isFirst:
            qp.setBrush(QtGui.QBrush(QtGui.QColor(0,255,0),QtCore.Qt.SolidPattern))
        # Other in red
        else:
            qp.setBrush(QtGui.QBrush(QtGui.QColor(255,0,0),QtCore.Qt.SolidPattern))

        # Standard radius
        r = 3.0
        # Increase maybe
        if increaseRadius:
            r *= 2.5
        # Draw
        qp.drawEllipse( pt, r, r )

    # Determine if the given candidate for a label path makes sense
项目:rexploit    作者:DaniLabs    | 项目源码 | 文件源码
def pushButtonAutoCheckClicked(self):
        root = self.treeWidget.invisibleRootItem()
        success = 0
        fail = 0
        for i in range(root.childCount()):
            item = root.child(i)
            exploit = self.__exploits[str(item.text(0))]
            if exploit.check():
                exploit.vulnerable = True
                w = self.__stackedWidgetController.getWidgetWithExploit(exploit)
                w.setCheckBoxVulnerableChecked(True)
                self.addExploitSuccess(exploit)
                success += 1
                item.setForeground(0, QBrush(QColor(Qt.green)))
            else:
                fail += 1
                item.setForeground(0, QBrush(QColor(Qt.red)))

        self.labelCheck.setText("Result: {0} OK - {1} Fail".format(success, fail))
项目:picasso    作者:jungmannlab    | 项目源码 | 文件源码
def loadCanvas(self, path):
        info = _io.load_info(path)
        structure = info[0]['Structure']
        structure = structure[::-1]
        allitems = self.items()
        lenitems = len(allitems)
        bindingitems = len(BINDING_SITES)
        origamiitems = len(ORIGAMI_SITES)
        paletteindex = lenitems-bindingitems+9

        for i in range(0, origamiitems):
            colorindex = structure[i][2]
            allitems[paletteindex+i].setBrush(QtGui.QBrush(allcolors[colorindex]))

        self.evaluateCanvas()
        self.tableshort = info[0]['Extensions Short']
        self.tablelong = info[0]['Extensions Long']
        self.updateExtensions(self.tableshort)
项目:picasso    作者:jungmannlab    | 项目源码 | 文件源码
def draw_scalebar(self, image):
        if self.window.display_settings_dialog.scalebar_groupbox.isChecked():
            pixelsize = self.window.display_settings_dialog.pixelsize.value()
            scalebar = self.window.display_settings_dialog.scalebar.value()
            length_camerapxl = scalebar / pixelsize
            length_displaypxl = int(round(self.width() * length_camerapxl / self.viewport_width()))
            height = max(int(round(0.15 * length_displaypxl)), 1)
            painter = QtGui.QPainter(image)
            painter.setPen(QtGui.QPen(QtCore.Qt.NoPen))
            painter.setBrush(QtGui.QBrush(QtGui.QColor('white')))
            x = self.width() - length_displaypxl - 35
            y = self.height() - height - 20
            painter.drawRect(x, y, length_displaypxl + 0, height + 0)
            if self.window.display_settings_dialog.scalebar_text.isChecked():
                font = painter.font()
                font.setPixelSize(20)
                painter.setFont(font)
                painter.setPen(QtGui.QColor('white'))
                text_spacer = 40
                text_width = length_displaypxl +2*text_spacer
                text_height = text_spacer
                painter.drawText(x-text_spacer, y-25, text_width, text_height, QtCore.Qt.AlignHCenter,str(scalebar)+' nm')
        return image
项目:Bigglesworth    作者:MaurizioB    | 项目源码 | 文件源码
def resizeEvent(self, event):
        width = self.width()
        height = self.height()
        x = width/2
        y = height/2
        radius = max(width, height)/2
        for c in ('active', 'active_pressed', 'unactive', 'unactive_pressed'):
            grad = getattr(self, '{}_grad'.format(c))
            grad.setCenter(x, y)
            grad.setRadius(radius)
            grad.setFocalPoint(x, y)
            setattr(self, '{}_color'.format(c), QtGui.QBrush(grad))
        self.set_released_colors()
#        if self.isCheckable():
#            self.current_color = self.active_color if self.isChecked() else self.unactive_color
#            self.current_pen = self.active_pen if self.isChecked() else self.unactive_pen
#        else:
#            self.current_color = self.active_color
#            self.current_pen = self.active_pen
项目:sardana    作者:sardana-org    | 项目源码 | 文件源码
def __init__(self, parent=None):
        QtGui.QWizardPage.__init__(self, parent)
        self._item_funcs = {}

        self.setPixmap(QtGui.QWizard.LogoPixmap, QtGui.QPixmap(":/logo.jpg"))

        layout = QtGui.QVBoxLayout()

        self._panel = QtGui.QWidget()

        self._status_label = QtGui.QLabel()
        self._status_label.setAutoFillBackground(True)
        palette = self._status_label.palette()
        gradient = QtGui.QLinearGradient(0, 0, 0, 15)
        gradient.setColorAt(0.0, Qt.QColor.fromRgb(60, 150, 255))
        gradient.setColorAt(0.5, Qt.QColor.fromRgb(0,  85, 227))
        gradient.setColorAt(1.0, Qt.QColor.fromRgb(60, 150, 255))
        gradient.setSpread(QtGui.QGradient.RepeatSpread)
        palette.setBrush(QtGui.QPalette.Window, QtGui.QBrush(gradient))
        palette.setBrush(QtGui.QPalette.WindowText, Qt.Qt.white)

        layout.addWidget(self._panel)
        layout.addStretch()
        layout.addWidget(self._status_label)
        self.setLayout(layout)
项目:core-framework    作者:RedhawkSDR    | 项目源码 | 文件源码
def setConsoleColor(self, color):
        fmt = self.consoleView.currentCharFormat()
        fmt.setForeground(QtGui.QBrush(QtGui.QColor(color)))
        self.consoleView.setCurrentCharFormat(fmt)
项目:CPNSimulatorGui    作者:chris-kuhr    | 项目源码 | 文件源码
def __init__(self, parent = None):  
        '''Create abstract item.

        :param parent: `gui.DiagramEditor`. Editor to show in. 
        '''
        self.parent = parent
        super(AbstractItem, self).__init__(parent)
        self.tokens = None        
        self.name = ""
        self.posCallbacks = []
        self.connectorList = []

        self.setPen(QtGui.QPen(QtCore.Qt.black, 2))
        self.setBrush(QtGui.QBrush(QtCore.Qt.white))
        self.setFlags(self.ItemIsSelectable | self.ItemIsMovable | self.ItemSendsScenePositionChanges)

        self.planeMap = {
                         "northWest":set(),
                         "north":set(),
                         "northEast":set(),
                         "east":set(),
                         "southEast":set(),
                         "south":set(),
                         "southWest":set(),
                         "west":set()
                         }
        self.connectorMap = {
                         "northWest":[],
                         "north":[],
                         "northEast":[],
                         "east":[],
                         "southEast":[],
                         "south":[],
                         "southWest":[],
                         "west":[]
                         }
    #------------------------------------------------------------------------------------------------
项目: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)
    #------------------------------------------------------------------------------------------------
项目:CPNSimulatorGui    作者:chris-kuhr    | 项目源码 | 文件源码
def initTransition(self, loadFromFile):  
        '''Initialize transition.

        :param loadFromFile: Flag determining, whether the transition is loaded from file.
        '''
        pos = self.scenePos()        
        self.createItem(self.editor, self.name, nodeType="transition")   
        rect = self.boundingRect()    

        if not self.substitutionTransition:    
            self.guardLabel = QtGui.QGraphicsTextItem(self.guardExpression, self)
            self.guardLabel.setFlags( self.ItemIsSelectable | self.ItemIsMovable )   
            self.guardLabel.setPos(pos.x() + rect.width()/2, pos.y() - 20)
            self.guardLabel.setPlainText( self.guardExpression )
        else:            
            if not loadFromFile:
                self.editor.mainWindow.addSubnetEditor(self.name)
            self.subnetBorder = QtGui.QGraphicsRectItem( pos.x() - 5, pos.y()-5, rect.width()+9, rect.height()+9, parent=self )
            self.subnetBorder.setFlag( self.ItemStacksBehindParent, True ) 
            self.subnetBorder.setPen(QtGui.QPen(QtCore.Qt.black, 2))
            self.subnetBorder.setBrush(QtGui.QBrush(QtCore.Qt.white))
            self.subnetBorder.setZValue(11)
            self.guardExpression = ""

        self.setPos(self.position)
        self.setZValue(10)

        self.editor.visualTransitions.append(self)
        self.editor.diagramScene.addItem(self)
    #------------------------------------------------------------------------------------------------
项目: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
项目:TPN    作者:myfavouritekk    | 项目源码 | 文件源码
def draw_predictions(file_path, predictions, class_index,
                     score_low, score_high):
    img = QtGui.QImage(file_path)
    painter = QtGui.QPainter(img)
    for i, pred in enumerate(predictions):
        if class_index > 0 and pred.class_index != class_index: continue
        if pred.score < score_low or pred.score > score_high: continue
        class_name = CLASS_NAMES[pred.class_index]
        x1, y1, x2, y2 = map(int, pred.bbox)
        # bbox
        painter.setPen(QtGui.QPen(PRESET_COLORS[pred.class_index], 10.0))
        # painter.setPen(QtGui.QPen(QtGui.QColor(0, 116, 217), 10.0))
        painter.setBrush(QtGui.QBrush())
        painter.drawRect(x1, y1, x2 - x1 + 1, y2 - y1 + 1)
        # label background rect
        painter.setPen(QtGui.QPen(PRESET_COLORS[pred.class_index], 2.0))
        painter.setBrush(QtGui.QBrush(PRESET_COLORS[pred.class_index]))
        # painter.setPen(QtGui.QPen(QtGui.QColor(0, 116, 217), 2.0))
        # painter.setBrush(QtGui.QBrush(QtGui.QColor(0, 116, 217)))
        if class_index > 0:
            painter.drawRect(x1, y1, min(x2 - x1 + 1, 100), 30)
        else:
            painter.drawRect(x1, y1, min(x2 - x1 + 1, 200), 30)
        # label text
        painter.setPen(QtGui.QPen(QtGui.QColor(255, 255, 255)))
        painter.setBrush(QtGui.QBrush())
        painter.setFont(QtGui.QFont('Arial', 20, QtGui.QFont.Bold))
        if class_index > 0:
            painter.drawText(x1 + 4, y1 + 24, '{:.2f}'.format(pred.score))
        else:
            painter.drawText(x1 + 4, y1 + 24,
                             '{} {:.2f}'.format(class_name, pred.score))
    return img
项目:siren    作者:ozsolarwind    | 项目源码 | 文件源码
def addGeneration(self, st):
        if (st.technology[:6] != 'Fossil' or self.show_fossil) and st.generation > 0:
            p = self.mapFromLonLat(QtCore.QPointF(st.lon, st.lat))
            size = sqrt(float(st.generation) * (self.capacity_area / 2000) / pi)
            east = self.destinationxy(st.lon, st.lat, 90., size)
            pe = self.mapFromLonLat(QtCore.QPointF(east[0], st.lat))
            north = self.destinationxy(st.lon, st.lat, 0., size)
            pn = self.mapFromLonLat(QtCore.QPointF(st.lon, north[1]))
            x_d = p.x() - pe.x()
            y_d = pn.y() - p.y()
            el = QtGui.QGraphicsEllipseItem(p.x() - x_d / 2, p.y() - y_d / 2, x_d, y_d)
            if self.show_capacity_fill:
                brush = QtGui.QBrush()
                brush.setColor(QtGui.QColor(self.colors[st.technology]))
            #     brush.setStyle(QtCore.Qt.Dense1Pattern)
                brush.setStyle(QtCore.Qt.SolidPattern)
                el.setBrush(brush)
                el.setOpacity(self.capacity_opacity)
            if self.colors['border'] != '':
                el.setPen(QtGui.QColor(self.colors['border']))
            else:
                el.setPen(QtGui.QColor(self.colors[st.technology]))
            el.setZValue(1)
            self.addItem(el)
            self._stationGroups[st.name].append(el)
            self._stationCircles[st.technology].append(el)
            self._generationGroup.addToGroup(el)
项目:pslab-desktop-apps    作者:fossasia    | 项目源码 | 文件源码
def addLabel(self,name,color=None):
        item = QtGui.QListWidgetItem()
        if color:
            brush = QtGui.QBrush(color)
            brush.setStyle(QtCore.Qt.SolidPattern)
            item.setBackground(brush)
            brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
            brush.setStyle(QtCore.Qt.SolidPattern)
            item.setForeground(brush)
        item.setText(name)
        self.listWidget.addItem(item)
        return item
项目:pslab-desktop-apps    作者:fossasia    | 项目源码 | 文件源码
def addLabel(self,name,color=None):
        item = QtGui.QListWidgetItem()
        if color:
            brush = QtGui.QBrush(color)
            brush.setStyle(QtCore.Qt.SolidPattern)
            item.setBackground(brush)
            brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
            brush.setStyle(QtCore.Qt.SolidPattern)
            item.setForeground(brush)
        item.setText(name)
        self.listWidget.addItem(item)
        return item
项目:pyshell    作者:oglops    | 项目源码 | 文件源码
def mouseMoveEvent(self,event):
        # _logger.info('event: %s' %event.__class__)
        # _logger.info('release mouse button %s' %event.buttons())




        if event.button()== Qt.LeftButton:

            # cursor = self.textCursor()
            # # _logger.info('release mouse')
            # if cursor.hasSelection():
            #     start = cursor.selectionStart()
            #     end = cursor.selectionEnd()



            # set selected text color before releasing mouse button
            tmp = self.textCursor().charFormat()
            # tmp.setBackground(QtGui.QBrush(self.palette().highlight().color()))
            # tmp.setForeground(QtGui.QBrush(self.palette().background().color()))
            tmp.setBackground(QtGui.QBrush(self.palette().text().color()))
            tmp.setForeground(QtGui.QBrush(self.palette().base().color()))

            self.textCursor().setCharFormat(tmp)
            # print 'cursor changed'
            # self.textCursor().setPosition(3)

        super(PyInterp,self).mouseMoveEvent(event)
项目: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)
项目: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)
项目:rexploit    作者:DaniLabs    | 项目源码 | 文件源码
def addExploitSuccess(self, exploit):
        if exploit not in self.__exploitsSuccess:
            self.__exploitsSuccess.append(exploit)
            root = self.treeWidget.invisibleRootItem()
            for i in range(root.childCount()):
                item = root.child(i)
                if item.text(0) == exploit.name:
                    item.setForeground(0, QBrush(QColor(Qt.green)))
项目:rexploit    作者:DaniLabs    | 项目源码 | 文件源码
def removeExploitSuccess(self, exploit):
        self.__exploitsSuccess.remove(exploit)
        root = self.treeWidget.invisibleRootItem()
        for i in range(root.childCount()):
            item = root.child(i)
            if item.text(0) == exploit.name:
                item.setForeground(0, QBrush(QColor(Qt.black)))
项目:rexploit    作者:DaniLabs    | 项目源码 | 文件源码
def setItemsLoaded(self, names):
        self.setEnabledItems(True)
        if names:
            root = self.treeWidget.invisibleRootItem()
            for name in names:
                for i in range(root.childCount()):
                    item = root.child(i)
                    if item.text(0) == name:
                        widget = self.__stackedWidgetController.getWidgetWithExploit(name)
                        widget.setCheckBoxVulnerableChecked()
                        item.setForeground(0, QBrush(QColor(Qt.green)))
项目:picasso    作者:jungmannlab    | 项目源码 | 文件源码
def clearCanvas(self):
        allitems = self.items()
        lenitems = len(allitems)
        bindingitems = len(BINDING_SITES)
        origamiitems = len(ORIGAMI_SITES)
        paletteindex = lenitems-bindingitems+9

        for i in range(0, origamiitems):
            allitems[paletteindex+i].setBrush(QtGui.QBrush(defaultcolor))

        self.saveExtensions(['None', 'None', 'None', 'None', 'None', 'None', 'None'], ['None', 'None', 'None', 'None', 'None', 'None', 'None'])
        self.updateExtensions(['None', 'None', 'None', 'None', 'None', 'None', 'None'])
        self.evaluateCanvas()
项目:Bigglesworth    作者:MaurizioB    | 项目源码 | 文件源码
def __init__(self, height, color=QtGui.QColor(200, 200, 200)):
        QtGui.QGraphicsItem.__init__(self)
        self.rect.setHeight(height)
        self.pen = QtGui.QPen(QtCore.Qt.NoPen)
        self.brush = QtGui.QBrush(color)
项目:Bigglesworth    作者:MaurizioB    | 项目源码 | 文件源码
def hoverEnterEvent(self, event):
        self.pen = QtGui.QPen(QtCore.Qt.red)
        self.brush = QtGui.QBrush(QtGui.QColor(255, 88, 88))
        self.update()
项目:Bigglesworth    作者:MaurizioB    | 项目源码 | 文件源码
def hoverLeaveEvent(self, event):
        self.pen = QtGui.QPen(QtCore.Qt.blue)
        self.brush = QtGui.QBrush(QtGui.QColor(255, 88, 88, 150))
        self.update()
项目:mol    作者:MaurizioB    | 项目源码 | 文件源码
def build_graph(self):
        for c, ports in self.graph.port_id_dict.items():
            rows = []
            for p, port in ports.items():
                if port.is_output and not port.hidden:
                    port_item = QtGui.QStandardItem(port.name)
                    port_name = '{}:{}'.format(port.client.name, port.name)
                    port_item.setData(port_name, NameRole)
                    port_item.setData(True, PortRole)
                    full_port_item = QtGui.QStandardItem(port_name)
                    setBold(port_item)
                    port_id = QtGui.QStandardItem('{}:{}'.format(port.client.id, port.id))
                    port_id.setData('{}:{}'.format(port.client.id, port.id), NameRole)
                    setBold(port_id)
                    rows.append([port_item, port_id, full_port_item])
            if rows:
               client_item = QtGui.QStandardItem(' {}'.format(port.client.name))
               client_item.setData('{}:.*'.format(port.client.name), NameRole)
               client_item.setData(QtGui.QBrush(QtCore.Qt.gray), QtCore.Qt.ForegroundRole)
               client_id = QtGui.QStandardItem(str(port.client.id))
               client_id.setData('{}:.*'.format(port.client.id), NameRole)
               client_id.setData(QtGui.QBrush(QtCore.Qt.gray), QtCore.Qt.ForegroundRole)
               self.graph_model.appendRow([client_item, client_id])
               for r in rows:
                   self.graph_model.appendRow(r)
        self.input_table.resizeColumnsToContents()
        self.input_table.resizeRowsToContents()
项目:brutepwdbyflow    作者:spoock1024    | 项目源码 | 文件源码
def mark_user(self):
        textCursor2 = self.postdata_textEdit.textCursor()
        print(textCursor2.selectedText())
        self.datawrapper.postdata.maindata['username'] = textCursor2.selectedText()
        keyword = textCursor2.charFormat()
        keyword.setForeground(QtGui.QBrush(Qt.blue))
        keyword.setFontWeight(QtGui.QFont.Bold)
        textCursor2.setCharFormat(keyword)
        # textCursor2.setPosition(end,QtGui.QTextCursor.KeepAnchor)
        self.postdata_textEdit.setTextCursor(textCursor2)
项目:brutepwdbyflow    作者:spoock1024    | 项目源码 | 文件源码
def mark_pwd(self):

        textCursor2 = self.postdata_textEdit.textCursor()
        print(textCursor2.selectedText())
        self.datawrapper.postdata.maindata['password'] = textCursor2.selectedText()
        keyword = textCursor2.charFormat()
        keyword.setForeground(QtGui.QBrush(Qt.blue))
        keyword.setFontWeight(QtGui.QFont.Bold)
        textCursor2.setCharFormat(keyword)
        # textCursor2.setPosition(end,QtGui.QTextCursor.KeepAnchor)
        self.postdata_textEdit.setTextCursor(textCursor2)
项目:MidiMemo    作者:MaurizioB    | 项目源码 | 文件源码
def event_enable(self, row_list, state):
        color = QtCore.QVariant(QtGui.QBrush(QtCore.Qt.black if state else QtCore.Qt.gray))
        for row in row_list:
            data = self.event_buffer[row]
            if isinstance(data.event, ConnectionEvent): continue
            data.enabled = state
            for c in range(self.model.columnCount()):
                self.model.item(row, c).setData(color, QtCore.Qt.ForegroundRole)
项目:BTCeTrader    作者:ch3ll0v3k    | 项目源码 | 文件源码
def DRAW_CLASSIC_POINTS(self, Painter):

        # -------------------------------------------------------------------
        Painter.setPen( QPen( QColor("#FFF"), 2 ) );
        Painter.drawPolyline( self.poly( self.CANDLES_POINTS ) );

        Painter.setBrush(QBrush(QColor(255, 255, 255))) # color
        Painter.setPen(QPen(QColor("#F00"), 2)) # circle border diameter

        p = self.CANDLES_POINT_W;

        for x, y in self.CANDLES_POINTS:
            Painter.drawEllipse(QRectF(x - p/2, y - p/2, p, p));

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

    # =======================================================================
项目:BTCeTrader    作者:ch3ll0v3k    | 项目源码 | 文件源码
def DRAW_CLASSIC_CANDLES(self, Painter):

        # -------------------------------------------------------------------
        # CLASSIC CANDLES

        #Painter.setPen(QPen(QColor("#FFF"), 1, Qt.NoPen));
        Painter.setPen(QPen(QColor("#FFF"), 1));

        for x_offset, y_enter, y_exit, max_val, min_val, is_growing, e_1, e_2, e_3, e_4, _upd in self.CANDLES:

            try:

                # -------------------------------------------------------
                # LINES -> drawPolyline == from_x, from_y, to_x, to_y
                if self.DRAW_PICK_LINES:
                    Painter.drawPolyline( QPoint(x_offset+self.CANDLE_W/2, min_val), QPoint(x_offset+self.CANDLE_W/2, max_val) );

                # -------------------------------------------------------                    
                # CANDLES -> drawRect == from_x, from_y, length_x, length_y
                #Painter.setPen(QPen(QColor("#444"), 0));

                if is_growing:
                    Painter.setBrush( QBrush(self.CANDLE_G_COLOR) );
                else:
                    Painter.setBrush( QBrush(self.CANDLE_R_COLOR) );

                Painter.drawRect( x_offset, y_enter, self.CANDLE_W, y_exit-y_enter );

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

            except Exception as _NoneTypeError:

                print(_NoneTypeError)
                print("x: "+str(x_offset)+" y: "+str(y_enter))
                Painter.end()
                exit();

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

    # =======================================================================
项目:sardana    作者:sardana-org    | 项目源码 | 文件源码
def __init__(self, parent=None):
        BaseUpgradePage.__init__(self, parent)
        self.setTitle('Pool Instance')
        self.setSubTitle('Please select the Pool Server instance')

        #panel = QtGui.QWidget(self)
        panel = self

        self.instanceCB = QtGui.QComboBox(panel)
        self.instanceCB.setDuplicatesEnabled(False)
        self.instanceCB.setEditable(False)
        self.registerField(self.p_instance_key, self.instanceCB)

        layout = QtGui.QGridLayout(panel)
        instanceLabel = QtGui.QLabel('instance:', panel)
        spacer = QtGui.QSpacerItem(
            20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.statusLabel = QtGui.QLabel(panel)

        self.statusLabel.setAutoFillBackground(True)
        palette = self.statusLabel.palette()
        palette.setBrush(QtGui.QPalette.Window, QtGui.QBrush(
            Qt.QColor.fromRgb(200, 200, 200)))

        layout.setColumnStretch(0, 0)
        layout.setColumnStretch(1, 1)
        layout.addWidget(instanceLabel, 0, 0, Qt.Qt.AlignRight)
        layout.addWidget(self.instanceCB, 0, 1, Qt.Qt.AlignLeft)
        layout.addItem(spacer, 1, 0, 1, 2)

        layout.addWidget(self.statusLabel, 2, 0, 1, 2)

        self.connect(self.instanceCB,
                     QtCore.SIGNAL('currentIndexChanged(int)'),
                     QtCore.SIGNAL('completeChanged()'))
项目:sardana    作者:sardana-org    | 项目源码 | 文件源码
def __init__(self, parent=None):
        BaseUpgradePage.__init__(self, parent)
        self.setTitle('Version')
        self.setSubTitle('Please select the version to upgrade to')

        panel = self

        self.versionCB = QtGui.QComboBox(panel)
        self.versionCB.setDuplicatesEnabled(False)
        self.versionCB.setEditable(False)
        self.registerField(self.p_version_key, self.versionCB)

        layout = QtGui.QGridLayout(panel)
        versionLabel = QtGui.QLabel('version:', panel)
        spacer = QtGui.QSpacerItem(
            20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.statusLabel = QtGui.QLabel(panel)

        self.statusLabel.setAutoFillBackground(True)
        palette = self.statusLabel.palette()
        palette.setBrush(QtGui.QPalette.Window, QtGui.QBrush(
            Qt.QColor.fromRgb(200, 200, 200)))

        layout.setColumnStretch(0, 0)
        layout.setColumnStretch(1, 1)
        layout.addWidget(versionLabel, 0, 0, Qt.Qt.AlignRight)
        layout.addWidget(self.versionCB, 0, 1, Qt.Qt.AlignLeft)
        layout.addItem(spacer, 1, 0, 1, 2)

        layout.addWidget(self.statusLabel, 2, 0, 1, 2)
项目:GkukanMusiumdb    作者:matsu-reki    | 项目源码 | 文件源码
def SetPointToSelection(self):
        pass
        if  self._checkLoadLayer() ==False:
            return

        tbl =self.tblPhotos
        if len(tbl.selectedItems())==0:
            return

        pl=[]
        for p in tbl.selectedItems():
            a=p.data(32)
            if a is not None :
                pl.append(a)

        if self.AskUpdatePoint(pl) is False:
            return

        if len(pl):
            self.canvas.freeze(True)
            self.SetPhotoPosition(pl,self.canvas.center())
            self.canvas.freeze(False)
            self.canvas.refresh()

            i=0
            for p in tbl.selectedItems():
                if p.row()==1 :
                    p.setBackground(QBrush(QColor('#FFFFFF')))
项目:GkukanMusiumdb    作者:matsu-reki    | 项目源码 | 文件源码
def AddMorePhotosToList(self):

        oldst=self.loadListCount
        n=100

        QApplication.setOverrideCursor(Qt.WaitCursor)
        if not self.GetPhotosList( self.loadListCount+1,self.loadListCount+n):
            QApplication.restoreOverrideCursor()
            return

        tbl=self.tblPhotos
        tbl.verticalHeader().resizeSection(0,50)

        for i in range(oldst,self.loadListCount) :
            fn=os.path.join(self.folderpath,self.photolist[i].filename)
            self.photolist[i].filePath=fn
            tp=os.path.join(os.path.join(self.folderpath,'thumb'),str(self.photolist[i].p_id)+'.png')
            self.photolist[i].thumbPath=tp
            item=ImgWidget(fn,tp,self)
            hd=QTableWidgetItem(str(self.photolist[i].p_id))
            tbl.insertColumn(i)
            tbl.setHorizontalHeaderItem(i,hd)
            tbl.setCellWidget(0,i,item)
            b=QtGui.QTableWidgetItem(self.photolist[i].filename)
            b.setData(32,self.photolist[i])
            tbl.setItem(1,i, b)
            if self.photolist[i].lon==0 and self.photolist[i].lat==0:
                tbl.item(1,i).setBackground(QBrush(QColor('#CCFFFF')))
            if self.photolist[i].keywords :
                tbl.setItem(2,i, QtGui.QTableWidgetItem(self.photolist[i].keywords))

            QgsMessageLog.logMessage(u"LoadPhoto..." + str(i), tag="LoadMorePhotoThread", level=QgsMessageLog.INFO )

        QApplication.restoreOverrideCursor()
项目:GkukanMusiumdb    作者:matsu-reki    | 项目源码 | 文件源码
def AddPhotosToList(self):

        oldst=self.loadListCount

        QApplication.setOverrideCursor(Qt.WaitCursor)

        if not self.GetPhotosList( self.loadListCount+1,self.loadListCount+self.loadmax):
            QApplication.restoreOverrideCursor()
            return


        tbl=self.tblPhotos
        tbl.verticalHeader().resizeSection(0,50)

        self.ClearTableCells()

        for i in range(oldst,self.loadListCount) :
            fn=os.path.join(self.folderpath,self.photolist[i].filename)
            self.photolist[i].filePath=fn
            tp=os.path.join(os.path.join(self.folderpath,'thumb'),str(self.photolist[i].p_id)+'.png')
            self.photolist[i].thumbPath=tp
            item=ImgWidget(fn,tp,self)
            pos=i-oldst
            hd=QTableWidgetItem(str(i+1))
            tbl.setHorizontalHeaderItem(pos,hd)
            tbl.setCellWidget(0,pos,item)
            b=QtGui.QTableWidgetItem(self.photolist[i].filename)
            b.setData(32,self.photolist[i])
            tbl.setItem(1,i, b)

            if self.photolist[i].lon==0 and self.photolist[i].lat==0:
                tbl.item(1,i).setBackground(QBrush(QColor('#CCFFFF')))

            if self.photolist[i].keywords :
                tbl.setItem(2,pos, QtGui.QTableWidgetItem(self.photolist[i].keywords))

            QgsMessageLog.logMessage(u"LoadPhoto..." + str(i), tag="LoadPhotoThread", level=QgsMessageLog.INFO )

        QApplication.restoreOverrideCursor()
项目:CPNSimulatorGui    作者:chris-kuhr    | 项目源码 | 文件源码
def __init__(self, editor, name, position, guardExpression = None, uniqueName="t0", loadFromFile=False, substitutionTransition=False, subnet=None):
        '''Create transition item.

        :param editor: `gui.DiagramEditor`. Editor to show in.
        :param name: Name of the CPN element assigned by the user. 
        :param position: Position of this item in the `gui.DiagramScene`.
        :param guardExpression: The guard expression for this transition.
        :param uniqueName: Unique name of this transition used by the simulator.
        :param loadFromFile: Flag determining, whether the transition is loaded from file.
        :param substitutionTransition: Flag indication a substitutaion transition.
        :param subnet: Name of the subnet this transition is contained in.
        '''
        super(TransitionItem, self).__init__(None)
        self.editor = editor
        self.name = name
        self.substitutionTransition = substitutionTransition
        self.subnet = subnet
#         self.superNet = editor.subnet
        self.position = position
        self.uniqueName = uniqueName
        self.enabled = False
        self.guardExpression = guardExpression
        self.subnetBorder = None
        self.exceptionString = ""
        self.modeString = ""
        self.setBrush(QtGui.QBrush(QtCore.Qt.white))

        logging.debug("-------Create----Transition-------------------%s---------%s----------"%(uniqueName, name))
        logging.debug( "editor %s position %s Guard Expression %s"%(editor, position, guardExpression))
        logging.debug( "loadFromFile %s substitution Transition %s subnet %s"%(loadFromFile, substitutionTransition, subnet))
        logging.debug("-----------------------------------------------------------------------------------")

        if not self.substitutionTransition:
            if not loadFromFile:
                self.guardDiag = NameDialog(title="Enter Guard Expression", default="True")
                self.guardDiag.accepted.connect( self.acceptEditGuard )
                self.guardDiag.show()    
                try:
                    self.transition = Transition( self.uniqueName, Expression(self.guardExpression) )
                    self.editor.mainWindow.simulator.net.add_transition( self.transition ) 
                    self.editor.mainWindow.simulator.transitions.append( self )
                except SyntaxError:
                    item = QtGui.QListWidgetItem( str( sys.exc_info()[1] ) )
                    item.setTextColor(QtCore.Qt.red)
                    self.editor.mainWindow.logWidget.addItem( item )
        self.initTransition(loadFromFile)
    #-------------------------------------------------------------------------------------------------
项目:SacredBrowser    作者:michaelwand    | 项目源码 | 文件源码
def data(self, index, role):
        if not index.isValid():
            return None
        entry = self.collectionData[index.row()][1]
        field = self.displayedFields()[index.column()]
        if role == QtCore.Qt.DisplayRole or role == QtCore.Qt.ToolTipRole:
            if re.match(r'^Result [0-9]+$',field):
                number = int(re.match(r'^Result ([0-9]+)$',field).groups()[0]) - 1 # counting!!!
                try:
                    resValue = float(entry['result'][number])
                    if self.resultViewMode == CollectionModel.ResultViewRaw:
                        res = unicode(resValue)
                    elif self.resultViewMode == CollectionModel.ResultViewRounded:
                        resValue = round(resValue,2)
                        res = unicode(resValue)
                    elif self.resultViewMode == CollectionModel.ResultViewPercent:
                        resValue = round(resValue * 100,2)
                        res = unicode(resValue) + '%'
                    else:
                        raise Exception('Wrong result view mode!')
                except (KeyError,IndexError,TypeError):
                    res = '---'
            else:
                try:
                    res = entry['config'][field]
                except KeyError:
                    res = 'XXX'
            return res
        elif role == QtCore.Qt.BackgroundColorRole:
            if entry['DuplicateMarker']:
                return QtGui.QBrush(self.DuplicateColor)
            elif entry['status'] == 'FAILED':
                return QtGui.QBrush(self.FailedColor)
            elif entry['status'] == 'INTERRUPTED':
                return QtGui.QBrush(self.InterruptedColor)
            elif entry['status'] == 'RUNNING':
                return QtGui.QBrush(self.RunningColor)
            else:
                return None
        else:
            return None

    # column (field) headers
项目:cityscapesScripts    作者:mcordts    | 项目源码 | 文件源码
def drawDrawRect(self, qp):

        qp.save()
        qp.setBrush(QtGui.QBrush(QtCore.Qt.NoBrush))
        qp.setFont(QtGui.QFont('QFont::AnyStyle', 14))
        thickPen = QtGui.QPen()
        qp.setPen(thickPen)

        for c in self.corrections:
            rect = copy.deepcopy(c.bbox)

            width = rect.width()
            height = rect.height()
            rect.setX(c.bbox.x() * self.scale + self.xoff)
            rect.setY(c.bbox.y() * self.scale + self.yoff)

            rect.setWidth(width * self.scale)
            rect.setHeight(height * self.scale)

            if c.selected:
                thickPen.setColor(QtGui.QColor(0,0,0))
                if c.type == CorrectionBox.types.QUESTION:
                    descr = "QUESTION"
                elif c.type == CorrectionBox.types.RESOLVED:
                    descr = "FIXED"
                else:
                    descr = "ERROR"
                qp.setPen(thickPen)
                qp.drawText(QtCore.QPoint( self.xoff, self.yoff + self.h + 20 ),
                                           "(%s: %s)" % (descr, c.annotation))
                pen_width = 6
            else:
                pen_width = 3

            colour = c.get_colour()
            thickPen.setColor(colour)
            thickPen.setWidth(pen_width)
            qp.setPen(thickPen)
            qp.drawRect(rect)

        if self.in_progress_bbox is not None:
            rect = copy.deepcopy(self.in_progress_bbox)
            width = rect.width()
            height = rect.height()
            rect.setX(self.in_progress_bbox.x() * self.scale + self.xoff)
            rect.setY(self.in_progress_bbox.y() * self.scale + self.yoff)

            rect.setWidth(width * self.scale)
            rect.setHeight(height * self.scale)

            thickPen.setColor(QtGui.QColor(255,0,0))
            thickPen.setWidth(3)
            qp.setPen(thickPen)
            qp.drawRect(rect)


        qp.restore()

    # Draw the polygon that is drawn and edited by the user
    # Usually the polygon must be rescaled properly. However when drawing
    # The polygon within the zoom, this is not needed. Therefore the option transform.
项目:cityscapesScripts    作者:mcordts    | 项目源码 | 文件源码
def blurLicensePlates(self,qp):
        # license plate name
        searchedNames = [ 'license plate' ]

        # the image
        img = self.image

        # Draw all objects
        for obj in self.annotation.objects:
            # Some are flagged to not be drawn. Skip them
            if not obj.draw:
                continue

            # The label of the object
            name      = obj.label
            # If we do not know a color for this label, skip
            if not name2label.has_key( name ):
                continue
            # If we do not blur this label, skip
            if not name in searchedNames:
                continue

            # Scale the polygon properly
            polyToDraw = self.getPolygon(obj) * QtGui.QTransform.fromScale(self.scale,self.scale)
            bb = polyToDraw.boundingRect()

            # Get the mean color within the polygon
            meanR = 0
            meanG = 0
            meanB = 0
            num   = 0
            for y in range( max(int(bb.top()),0) , min(int(bb.bottom()+1.5),img.height()) ):
                for x in range( max(int(bb.left()),0) , min(int(bb.right()+1.5),img.width()) ):
                    col = img.pixel(x,y)
                    meanR += QtGui.QColor(col).red()
                    meanG += QtGui.QColor(col).green()
                    meanB += QtGui.QColor(col).blue()
                    num   += 1
            meanR /= float(num)
            meanG /= float(num)
            meanB /= float(num)
            col = QtGui.QColor( meanR , meanG , meanB )
            qp.setPen(col)
            brush = QtGui.QBrush( col, QtCore.Qt.SolidPattern )
            qp.setBrush(brush)

            # Default drawing
            qp.drawPolygon( polyToDraw )


    # Update the object that is selected by the current mouse curser
项目:picasso    作者:jungmannlab    | 项目源码 | 文件源码
def mousePressEvent(self,  event):
        clicked_item = self.itemAt(event.scenePos(),  self.window.view.transform())
        if clicked_item:
            if clicked_item.type() == 5:
                allitems = self.items()
                lenitems = len(allitems)
                bindingitems = len(BINDING_SITES)
                paletteindex = lenitems-bindingitems
                selectedcolor = allitems[paletteindex].brush().color()

                if clicked_item == allitems[paletteindex]:  # DO NOTHING
                    pass
                elif clicked_item == allitems[paletteindex+1]:
                    allitems[paletteindex].setBrush(allcolors[1])
                    selectedcolor = allcolors[1]
                elif clicked_item == allitems[paletteindex+2]:
                    allitems[paletteindex].setBrush(allcolors[2])
                    selectedcolor = allcolors[2]
                elif clicked_item == allitems[paletteindex+3]:
                    allitems[paletteindex].setBrush(allcolors[3])
                    selectedcolor = allcolors[3]
                elif clicked_item == allitems[paletteindex+4]:
                    allitems[paletteindex].setBrush(allcolors[4])
                    selectedcolor = allcolors[4]
                elif clicked_item == allitems[paletteindex+5]:
                    selectedcolor = allcolors[5]
                    allitems[paletteindex].setBrush(allcolors[5])
                elif clicked_item == allitems[paletteindex+6]:
                    allitems[paletteindex].setBrush(allcolors[6])
                    selectedcolor = allcolors[6]
                elif clicked_item == allitems[paletteindex+7]:
                    allitems[paletteindex].setBrush(allcolors[7])
                    selectedcolor = allcolors[7]
                elif clicked_item == allitems[paletteindex+8]:
                    allitems[paletteindex].setBrush(QtGui.QBrush(defaultcolor))
                    selectedcolor = defaultcolor
                else:
                    currentcolor = clicked_item.brush().color()
                    if currentcolor == selectedcolor:
                        clicked_item.setBrush(defaultcolor)  # TURN WHITE AGAIN IF NOT USED
                    else:
                        clicked_item.setBrush(QtGui.QBrush(selectedcolor))
                self.evaluateCanvas()
项目:Bigglesworth    作者:MaurizioB    | 项目源码 | 文件源码
def get_btn_colors(color):
        if isinstance(color, QtGui.QColor):
            up_color = color
        elif isinstance(color, tuple):
            up_color = QtGui.QColor(*color)
        else:
            up_color= QtGui.QColor(color)
#        print up_color, up_color.green()
        up_base = up_color.getRgb()[:3]
        down_color = up_color.darker(150)
        down_base = down_color.getRgb()[:3]

        up_border = QtGui.QConicalGradient(QtCore.QPointF(.5, .5), 45)
        up_border.setCoordinateMode(QtGui.QConicalGradient.ObjectBoundingMode)
        up_up = QtGui.QColor(*(c+(255-c)*.4 for c in up_base))
        up_left = QtGui.QColor(*(c+(255-c)*.2 for c in up_base))
        up_down = QtGui.QColor(*(c*.5 for c in up_base))
        up_right = QtGui.QColor(*(c*.3 for c in up_base))
        up_border.setColorAt(0, up_up)
        up_border.setColorAt(.25, up_up)
        up_border.setColorAt(.251, up_left)
        up_border.setColorAt(.5, up_left)
        up_border.setColorAt(.501, up_down)
        up_border.setColorAt(.75, up_down)
        up_border.setColorAt(.751, up_right)
        up_border.setColorAt(.99, up_right)
        up_border.setColorAt(1, up_up)

        up_grad = QtGui.QRadialGradient(15, 15, 30)
        up_grad.setColorAt(0, up_color)
        up_grad.setColorAt(1, up_color.darker(150))

        down_border = QtGui.QConicalGradient(QtCore.QPointF(.5, .5), 45)
        down_border.setCoordinateMode(QtGui.QConicalGradient.ObjectBoundingMode)
        down_up = QtGui.QColor(*(c*.5 for c in down_base))
        down_left = QtGui.QColor(*(c*.3 for c in down_base))
        down_down = QtGui.QColor(*(c+(255-c)*.3 for c in down_base))
        down_right = QtGui.QColor(*(c+(255-c)*.05 for c in down_base))
        down_border.setColorAt(0, down_up)
        down_border.setColorAt(.25, down_up)
        down_border.setColorAt(.251, down_left)
        down_border.setColorAt(.5, down_left)
        down_border.setColorAt(.501, down_down)
        down_border.setColorAt(.75, down_down)
        down_border.setColorAt(.751, down_right)
        down_border.setColorAt(.99, down_right)
        down_border.setColorAt(1, down_up)
        down_grad = QtGui.QRadialGradient(15, 15, 30)
        down_grad.setColorAt(0, down_color)
        down_grad.setColorAt(1, down_color.darker(150))
        return up_border, up_grad, down_border, down_grad
#        return QtGui.QPen(up_border, 1), QtGui.QBrush(up_grad), QtGui.QPen(down_border, 1), QtGui.QBrush(down_grad)