예제 #1
0
파일: delegates.py 프로젝트: qunxyz/calibre
 def paint(self, painter, option, index):
     self.initStyleOption(option, index)
     style = QApplication.style() if option.widget is None \
                                             else option.widget.style()
     self.document.setHtml(option.text)
     style.drawPrimitive(QStyle.PE_PanelItemViewItem,
                         option,
                         painter,
                         widget=option.widget)
     rect = style.subElementRect(QStyle.SE_ItemViewItemDecoration, option,
                                 self.parent())
     ic = option.icon
     if rect.isValid() and not ic.isNull():
         sz = ic.actualSize(option.decorationSize)
         painter.drawPixmap(rect.topLeft(), ic.pixmap(sz))
     ctx = QAbstractTextDocumentLayout.PaintContext()
     ctx.palette = option.palette
     if option.state & QStyle.State_Selected:
         ctx.palette.setColor(
             ctx.palette.Text,
             ctx.palette.color(ctx.palette.HighlightedText))
     textRect = style.subElementRect(QStyle.SE_ItemViewItemText, option,
                                     self.parent())
     painter.save()
     painter.translate(textRect.topLeft())
     painter.setClipRect(textRect.translated(-textRect.topLeft()))
     self.document.documentLayout().draw(painter, ctx)
     painter.restore()
예제 #2
0
 def paint(self, painter, option, index):
     self.initStyleOption(option, index)
     style = QApplication.style() if option.widget is None \
                                             else option.widget.style()
     self.document.setHtml(option.text)
     option.text = u''
     if hasattr(QStyle, 'CE_ItemViewItem'):
         style.drawControl(QStyle.CE_ItemViewItem, option, painter)
     ctx = QAbstractTextDocumentLayout.PaintContext()
     ctx.palette = option.palette  # .setColor(QPalette.Text, QColor("red"));
     if hasattr(QStyle, 'SE_ItemViewItemText'):
         textRect = style.subElementRect(QStyle.SE_ItemViewItemText, option)
         painter.save()
         painter.translate(textRect.topLeft())
         painter.setClipRect(textRect.translated(-textRect.topLeft()))
         self.document.documentLayout().draw(painter, ctx)
         painter.restore()
예제 #3
0
파일: delegates.py 프로젝트: pdiazs/calibre
 def paint(self, painter, option, index):
     self.initStyleOption(option, index)
     style = QApplication.style() if option.widget is None \
                                             else option.widget.style()
     self.document.setHtml(option.text)
     style.drawPrimitive(QStyle.PE_PanelItemViewItem,
                         option,
                         painter,
                         widget=option.widget)
     ctx = QAbstractTextDocumentLayout.PaintContext()
     ctx.palette = option.palette
     if option.state & QStyle.State_Selected:
         ctx.palette.setColor(
             ctx.palette.Text,
             ctx.palette.color(ctx.palette.HighlightedText))
     textRect = style.subElementRect(QStyle.SE_ItemViewItemText, option)
     painter.save()
     painter.translate(textRect.topLeft())
     painter.setClipRect(textRect.translated(-textRect.topLeft()))
     self.document.documentLayout().draw(painter, ctx)
     painter.restore()