glyphCellFactory.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:defconQt 作者: trufont 项目源码 文件源码
def getPixmap(self):
        pixmap = QPixmap(self.width * self.pixelRatio, self.height * self.pixelRatio)
        pixmap.setDevicePixelRatio(self.pixelRatio)
        pixmap.fill(Qt.transparent)
        painter = QPainter(pixmap)
        painter.setRenderHint(QPainter.Antialiasing)
        painter.translate(0, self.height)
        painter.scale(1, -1)
        if self.headerAtBottom:
            bodyRect = (0, 0, self.width, self.height-self.headerHeight)
            headerRect = (0, 0, self.width, self.headerHeight)
        else:
            bodyRect = (0, 0, self.width, self.height-self.headerHeight)
            headerRect = (0, 0, self.width, self.headerHeight)
        # background
        painter.save()
        if self.headerAtBottom:
            h = self.height
        else:
            h = self.height - self.headerHeight
        painter.translate(0, h)
        painter.scale(1, -1)
        self.drawCellBackground(painter, bodyRect)
        painter.restore()
        # glyph
        if self.headerAtBottom:
            painter.translate(0, self.headerHeight)
        if self.shouldDrawMetrics:
            self.drawCellHorizontalMetrics(painter, bodyRect)
            self.drawCellVerticalMetrics(painter, bodyRect)
        painter.save()
        painter.setClipRect(0, 0, self.width, self.height-self.headerHeight)
        painter.translate(self.xOffset, self.yOffset)
        painter.scale(self.scale, self.scale)
        self.drawCellGlyph(painter)
        painter.restore()
        # foreground
        painter.save()
        painter.translate(0, self.height - self.headerHeight)
        painter.scale(1, -1)
        self.drawCellForeground(painter, bodyRect)
        painter.restore()
        # header
        if self.shouldDrawHeader:
            painter.save()
            if self.headerAtBottom:
                h = 0
            else:
                h = self.height
            painter.translate(0, h)
            painter.scale(1, -1)
            self.drawCellHeaderBackground(painter, headerRect)
            self.drawCellHeaderText(painter, headerRect)
            painter.restore()
        return pixmap
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号