コード例 #1
0
    def export_to_pdf(self: 'BaseWidget', filename: Path):
        width_a4 = 730
        height_a4 = 1060

        is_landscape = self.width() > self.height()
        if is_landscape:
            self.resize(height_a4, width_a4)  # landscape
        else:
            self.resize(width_a4, height_a4)  # portrait

        # render widget to picture
        picture = QPicture()
        painter = QPainter(picture)
        self.render(painter, QPoint(0, 0))
        painter.end()

        # set up PDF printer
        printer = QPrinter()
        printer.setOutputFormat(QPrinter.PdfFormat)
        printer.setOutputFileName(str(filename))
        if is_landscape:
            printer.setOrientation(QPrinter.Landscape)

        # draw picture on printer
        painter = QPainter()
        ok = painter.begin(printer)
        if ok:
            painter.drawPicture(0, 0, picture)
            ok = painter.end()
        return ok
コード例 #2
0
 def paintEvent(self, e):
     p = QPainter(self)
     p.drawPicture(0, 0, self._picture)
     self._app.quit()
コード例 #3
0
ファイル: qpicture_test.py プロジェクト: linzhun/pyside2
 def paintEvent(self, e):
     p = QPainter(self)
     p.drawPicture(0, 0, self._picture)
     self._app.quit()