Beispiel #1
0
 def save(self, fname, format, draft):
     if is_text_string(fname):
         if format == "pdf":
             self.app = guidata.qapplication()
             if draft:
                 mode = QPrinter.ScreenResolution
             else:
                 mode = QPrinter.HighResolution
             printer = QPrinter(mode)
             printer.setOutputFormat(QPrinter.PdfFormat)
             printer.setOrientation(QPrinter.Landscape)
             printer.setOutputFileName(fname)
             printer.setCreator('guiqwt.pyplot')
             self.print_(printer)
         else:
             if self.win is None:
                 self.show()
             if PYQT5:
                 pixmap = self.win.centralWidget().grab()
             else:
                 pixmap = QPixmap.grabWidget(self.win.centralWidget())
             pixmap.save(fname, format.upper())
     else:
         # Buffer
         fd = fname
         assert hasattr(fd, 'write'), "object is not file-like as expected"
         if self.win is None:
             self.show()
         pixmap = QPixmap.grabWidget(self.win.centralWidget())
         buff = QBuffer()
         buff.open(QIODevice.ReadWrite)
         pixmap.save(buff, format.upper())
         fd.write(buff.data())
         buff.close()
         fd.seek(0)
Beispiel #2
0
 def save_widget(self, fname):
     """Grab widget's window and save it to filename (\*.png, \*.pdf)"""
     fname = to_text_string(fname)
     if fname.lower().endswith('.pdf'):
         printer = QPrinter()
         printer.setOutputFormat(QPrinter.PdfFormat)
         printer.setOrientation(QPrinter.Landscape)
         printer.setOutputFileName(fname)
         printer.setCreator('guidata')
         self.print_(printer)
     elif fname.lower().endswith('.png'):
         if PYQT5:
             pixmap = self.grab()
         else:
             pixmap = QPixmap.grabWidget(self)
         pixmap.save(fname, 'PNG')
     else:
         raise RuntimeError(_("Unknown file extension"))