예제 #1
0
파일: widgets.py 프로젝트: cbhaley/calibre
 def paintEvent(self, event):
     QWidget.paintEvent(self, event)
     pmap = self._pixmap
     if pmap.isNull():
         return
     w, h = pmap.width(), pmap.height()
     ow, oh = w, h
     cw, ch = self.rect().width(), self.rect().height()
     scaled, nw, nh = fit_image(w, h, cw, ch)
     if scaled:
         pmap = pmap.scaled(int(nw * pmap.devicePixelRatio()),
                            int(nh * pmap.devicePixelRatio()),
                            Qt.AspectRatioMode.IgnoreAspectRatio,
                            Qt.TransformationMode.SmoothTransformation)
     w, h = int(pmap.width() / pmap.devicePixelRatio()), int(
         pmap.height() / pmap.devicePixelRatio())
     x = int(abs(cw - w) / 2)
     y = int(abs(ch - h) / 2)
     target = QRect(x, y, w, h)
     p = QPainter(self)
     p.setRenderHints(QPainter.RenderHint.Antialiasing
                      | QPainter.RenderHint.SmoothPixmapTransform)
     p.drawPixmap(target, pmap)
     if self.draw_border:
         pen = QPen()
         pen.setWidth(self.BORDER_WIDTH)
         p.setPen(pen)
         p.drawRect(target)
     if self.show_size:
         draw_size(p, target, ow, oh)
     p.end()
예제 #2
0
파일: jobs.py 프로젝트: kovidgoyal/calibre
 def paintEvent(self, ev):
     if self.mouse_over:
         p = QStylePainter(self)
         tool = QStyleOption()
         tool.initFrom(self)
         tool.rect = self.rect()
         tool.state = QStyle.StateFlag.State_Raised | QStyle.StateFlag.State_Active | QStyle.StateFlag.State_MouseOver
         p.drawPrimitive(QStyle.PrimitiveElement.PE_PanelButtonTool, tool)
         p.end()
     QWidget.paintEvent(self, ev)
예제 #3
0
파일: main.py 프로젝트: qykth-git/calibre
 def paintEvent(self, ev):
     br = ev.region().boundingRect()
     QWidget.paintEvent(self, ev)
     p = QPainter(self)
     p.setClipRect(br)
     f = p.font()
     f.setBold(True)
     f.setPointSize(20)
     p.setFont(f)
     p.setPen(Qt.PenStyle.SolidLine)
     r = QRect(0, self.dummy.geometry().top() + 10, self.geometry().width(), 150)
     p.drawText(r, Qt.AlignmentFlag.AlignHCenter | Qt.AlignmentFlag.AlignTop | Qt.TextFlag.TextSingleLine, self.text)
     p.end()
예제 #4
0
 def paintEvent(self, event):
     QWidget.paintEvent(self, event)
     p = QPainter(self)
     p.setRenderHints(QPainter.RenderHint.Antialiasing | QPainter.RenderHint.SmoothPixmapTransform)
     try:
         self.draw_background(p)
         if self.original_image_data is None:
             return
         if not self.is_valid:
             return self.draw_image_error(p)
         self.load_pixmap()
         self.draw_pixmap(p)
         if self.selection_state.rect is not None:
             self.draw_selection_rect(p)
     finally:
         p.end()
예제 #5
0
 def paintEvent(self, ev):
     return QWidget.paintEvent(self, ev)