def export(self): fn = QtGui.QFileDialog.getSaveFileName(self.window, "Save Image", QtCore.QString(), "Image Files (*.png)"); if fn.isEmpty(): self.window.statusbar.showMessage('Saving aborted', 2000) return self.__adjust_scene_rect() img = QImage(self.window.scene.sceneRect().size().toSize(), QImage.Format_ARGB32) painter = QPainter(img) absoluteRect = QRectF(0, 0, self.window.scene.sceneRect().width(), self.window.scene.sceneRect().height()) painter.fillRect(absoluteRect, QBrush(QColor(255, 255, 255), Qt.SolidPattern)) painter.resetMatrix() self.window.scene.render(painter) painter.end() if(img.save(fn) == False): self.window.statusbar.showMessage('Saving failed', 2000) return self.window.statusbar.showMessage('Image %s saved' % (self.filename), 2000)
# ready for drawable in diagram.elements(): scene.addItem(drawable) drawable.resize_scene_rect() adj_scene_rect = scene.sceneRect().adjusted(-margin, -margin, margin, margin) scene.setSceneRect(adj_scene_rect) diagramsize = adj_scene_rect.toRect().size() img = QImage(QSize(diagramsize.width() * scale, diagramsize.height() * scale), QImage.Format_ARGB32) painter = QPainter(img) print margin absoluteRect = QRectF(0, 0, scene.sceneRect().width() * scale, scene.sceneRect().height() * scale) painter.fillRect(absoluteRect, QBrush(QColor(255, 255, 255), Qt.SolidPattern)) painter.resetMatrix() scene.render(painter) painter.end() ret = img.save(output) print("Saved to " + output) for e in logger.events: print str(e) if not logger.has("ERROR CRITICAL"): return 0 else: return 1 if __name__ == "__main__": exit(main(sys.argv))