Exemplo n.º 1
0
 def paint(self, painter, option, index):
     if index.row() != 0:
         topLeft = option.rect.topLeft()
         topRight = option.rect.topRight()
         bottomLeft = option.rect.bottomLeft()
         bottomRight = option.rect.bottomRight()
         painter.drawLine(topLeft,topRight)
         #painter.drawLine(bottomLeft,bottomRight)
     QItemDelegate.paint(self, painter, option, index)
Exemplo n.º 2
0
 def paint(self, painter, option, index):
     option.palette.setColor(
         QPalette.Highlight,
         QColor(index.data(Qt.BackgroundRole)).darker(107))
     option.palette.setColor(
         QPalette.HighlightedText,
         QColor(index.data(Qt.ForegroundRole)).darker(115))
     QItemDelegate.paint(self, painter, option, index)
     if option.showDecorationSelected and \
             (option.state & QStyle.State_Selected):
         painter.drawRect(option.rect)
Exemplo n.º 3
0
 def paint(self, painter, option, index):
 
     if index.column() != 0:
         QItemDelegate.paint(self, painter, option, index)
         return
     
     painter.fillRect(option.rect, option.palette.brush(QPalette.Base))
     painter.setPen(QPen(option.palette.color(QPalette.Text)))
     painter.drawText(option.rect.adjusted(4, 4, -4, -4),
         Qt.TextShowMnemonic | Qt.AlignLeft | Qt.AlignVCenter,
         index.data().toString())
Exemplo n.º 4
0
 def paint(self, painter, option, index):
     option.palette.setColor(
         QPalette.Highlight,QColor(
             index.data(Qt.BackgroundRole)).darker(107))
     option.palette.setColor(
         QPalette.HighlightedText,QColor(
             index.data(Qt.ForegroundRole)).darker(115))
     QItemDelegate.paint(self, painter, option, index)
     if option.showDecorationSelected and \
             (option.state & QStyle.State_Selected):
         painter.drawRect(option.rect)
Exemplo n.º 5
0
 def paint (self, painter, option, index):
     if not (QStyle.State_Selected & option.state):
         r = QRect(option.rect)
         r.setX(0)
         # test if item/device is in use
         if index.data(Qt.UserRole).toBool():
             painter.setBrush(QColor(255, 0, 0, 32))
         else:
             painter.setBrush(QColor(0, 255, 0, 128))
         painter.setPen(Qt.lightGray)
         painter.drawRect(r)
     QItemDelegate.paint(self, painter, option, index)
Exemplo n.º 6
0
 def paint(self,painter,option,index):
     if index.column() == 1:
         progress = int(index.model().data(index, Qt.DisplayRole))
         progressBarOption = QStyleOptionProgressBarV2()
         progressBarOption.state = QStyle.State_Enabled
         progressBarOption.direction = QApplication.layoutDirection()
         progressBarOption.rect = option.rect
         progressBarOption.fontMetrics = QApplication.fontMetrics()
         progressBarOption.textVisible = True
         progressBarOption.textAlignment = Qt.AlignCenter
         progressBarOption.minimum = 0
         row = index.row()
         maximum = index.model().record(row).value('size')
         if maximum == '未知':
             progressBarOption.maximum = 10000000
             progressBarOption.text = '0%'
             progressBarOption.progress = 0
         else:
             progressBarOption.maximum = int(maximum)
             progressBarOption.progress = progress
             ratio = int(progress*100/int(maximum))
             progressBarOption.text = '%s'%ratio+'%'
         QApplication.style().drawControl(QStyle.CE_ProgressBar,progressBarOption,painter)
     elif index.column() == 2:
         if index.model().data(index) != '未知':
             length = int(index.model().data(index, Qt.EditRole))
             lengthMB = length/(1024*1024)
             size = round(lengthMB, 1)
             text = '%s'%size+'M'
             QApplication.style().drawItemText(painter, option.rect, Qt.AlignLeft and Qt.AlignVCenter, QApplication.palette(), True, text)
         else:
             return QItemDelegate.paint(self,painter,option,index)
     elif index.column() == 3 :
         if index.model().data(index) not in ["已完成", "已取消", "等待", "已暂停", "出错"]:
             remainSeconds = float(index.model().data(index))
             hours = int(remainSeconds/3600)
             minutes = int((remainSeconds%3600)/60)
             seconds = round((remainSeconds)%3600%60, 1)
             if remainSeconds >= 3600:
                 remainTime = '%sh%sm%ss'%(hours, minutes, int(seconds))
             elif  remainSeconds < 3600 and remainSeconds >= 60:
                 remainTime = '%sm%ss'%(minutes, int(seconds))
             else:
                 remainTime = '%ss'%seconds
             text = remainTime
             QApplication.style().drawItemText(painter, option.rect, Qt.AlignLeft and Qt.AlignVCenter, QApplication.palette(), True, text)
         else:
             return QItemDelegate.paint(self,painter,option,index)
     else:
         return QItemDelegate.paint(self,painter,option,index)
Exemplo n.º 7
0
    def paint(self, painter, option, index):
        """ Draw a button-style on root items """
        model = index.model()
        assert model


        if not model.parent(index).isValid():
            # this is a top-level item.
            buttonOption = QStyleOptionButton()

            buttonOption.state = option.state
            buttonOption.state &= ~QStyle.State_HasFocus

            buttonOption.rect = option.rect
            buttonOption.palette = option.palette
            buttonOption.features = QStyleOptionButton.None

            self.m_view.style().drawControl(QStyle.CE_PushButton, buttonOption, painter, self.m_view)

            branchOption = QStyleOption()
            i = 15  ### hardcoded in qcommonstyle.cpp
            r = option.rect
            branchOption.rect = QRect(r.left() + i/2, r.top() + (r.height() - i)/2, i, i)
            branchOption.palette = option.palette
#            branchOption.state = QStyle.State_Children

            if self.m_view.isExpanded(index):
                branchOption.state |= QStyle.State_Open

            self.m_view.style().drawPrimitive(QStyle.PE_IndicatorBranch, branchOption, painter, self.m_view)

            # draw text
            textrect = QRect(r.left() + i*2, r.top(), r.width() - ((5*i)/2), r.height())
            text = self.elidedText(option.fontMetrics, textrect.width(), Qt.ElideMiddle,
                              model.data(index, Qt.DisplayRole).toString())
            self.m_view.style().drawItemText(painter, textrect,Qt.AlignLeft|Qt.AlignVCenter,
                                             option.palette, self.m_view.isEnabled(), text)

            icon_variant = index.data(Qt.DecorationRole)
            icon = QIcon(icon_variant)
            self.m_view.style().drawItemPixmap(
                                               painter, option.rect,
                                               Qt.AlignLeft,
                                               icon.pixmap(icon.actualSize(QSize(20 ,20)))
                                               )

        else:
            QItemDelegate.paint(self, painter, option, index)
Exemplo n.º 8
0
 def paint(self, painter, option, index):
     data = index.model().data(index, Qt.UserRole)
     if data.isValid() and data.toPyObject() is not None:
         data = data.toPyObject()
         painter.save()
         rect = option.rect
         rect.adjust(+5, 0, -5, 0)
         pen = data
         painter.setPen(pen)
         middle = (rect.bottom() + rect.top()) / 2
         painter.drawLine(rect.left(), middle, rect.right(), middle)
         painter.restore()
     else:
         QItemDelegate.paint(self, painter, option, index)
         painter.drawLine(rect.left(), middle, rect.right(), middle)
         painter.restore()
Exemplo n.º 9
0
    def paint(self, painter, option, index):
        """ Framework hook to paint an editor.

        @param painter QPainter instance
        @param option QStyleOptionViewItem instance
        @param index QModelIndex instance of the item for the editor widget
        @return None
        """
        if index.column() not in self.columns:
            return QItemDelegate.paint(self, painter, option, index)
Exemplo n.º 10
0
	def paint(self, painter, option, index):
		if index.column() in (SRC_ADDR, DST_ADDR):
			text = index.model().data(index).toString()
			palette = QApplication.palette()
			document = QTextDocument()
			document.setDefaultFont(option.font)
			if option.state & QStyle.State_Selected:
				document.setHtml("<font color=%s>%s</font>" % 
								(palette.highlightedText().color().name(), text))
				color = palette.highlight().color()
			else:
				document.setHtml(text)
				color = QColor(index.model().data(index, Qt.BackgroundColorRole))
			#document.setPageSize(option.rect.size())
			painter.save()
			painter.fillRect(option.rect, color)
			painter.translate(option.rect.x(), option.rect.y())
			document.drawContents(painter)
			painter.restore()
		else:
			QItemDelegate.paint(self, painter, option, index)
Exemplo n.º 11
0
def _paintRecognitionCardsInBrowser(statusDelegateSelf, painter, option,
                                    index):
    card = statusDelegateSelf.model.getCard(index)
    note = card.note()

    if _isRecognitionNote(note):
        brush = QBrush(QColor(BROWSER_COLOR_RECOGNITION))
        painter.save()
        painter.fillRect(option.rect, brush)
        painter.restore()

    return QItemDelegate.paint(statusDelegateSelf, painter, option, index)
Exemplo n.º 12
0
 def paint(self, painter, option, index):
     """custom painter for progress state """
     if index.column() == 1:
         # get value
         progress = index.model().data(index,Qt.DisplayRole)
         
         # calculate where to put the painted rect
         fullRect = option.rect
         center = fullRect.center()
         newRect = QRectF()
         newRect.setTop(     center.y() - 5  )
         newRect.setBottom(  center.y() + 5  )
         newRect.setLeft(    center.x() - 10 )
         newRect.setRight(   center.x() + 10 )
         
         color = self._getColorForProgress(progress)
         # paint
         painter.save()
         painter.fillRect(newRect, color)
         painter.translate(option.rect.x(), option.rect.y()+5)
         painter.restore()
     else:
         QItemDelegate.paint(self,painter,option,index)
Exemplo n.º 13
0
 def paint(self, painter, option, index):
     palette = option.palette
     color_select = palette.brush(QPalette.Highlight)
     if not index.model().isValid(index):
         palette.setBrush(QPalette.Highlight, QBrush(QColor(170,0,255)))
     return QItemDelegate.paint(self, painter, option, index)
Exemplo n.º 14
0
 def paint(self, painter, option, index):
     delegate = self.delegates.get(index.column())
     if delegate is not None:
         delegate.paint(painter, option, index)
     else:
         QItemDelegate.paint(self, painter, option, index)
Exemplo n.º 15
0
 def paint(self, painter, option, index):
     palette = option.palette
     color_select = palette.brush(QPalette.Highlight)
     if not index.model().isValid(index):
         palette.setBrush(QPalette.Highlight, QBrush(QColor(170, 0, 255)))
     return QItemDelegate.paint(self, painter, option, index)