import matplotlib.backends.backend_pdf
...
@QtCore.pyqtSlot()
def printPlots(self):
filename,_ = QtGui.QFileDialog.getSaveFileName(self, "Save plots as PDF file", "", "Portable Document File (*.pdf)")
if filename == "":
return
pp = matplotlib.backends.backend_pdf.PdfPages(filename)
pp.savefig(self.plotFigure)
pp.close()
Assuming that your figure is called self.plotFigure. You can connect the above slot to a QAction and map it to some nice menu item or shortcut.
Thanks.
ReplyDeleteWith my (newer 2013) version getSaveFileName returns a list of strings, which wont be compatible as a filename. Rather put "filename,_ = QtGui.QFileDialog.getSaveFileName ..." (note the comma underscore)
Thanks for the update.
ReplyDelete