PrintPreview: Print preview dialog¶
This module implements a print preview dialog.
The dialog provides methods to send images, pixmaps and SVG items to the page to be printed.
The user can interactively move and resize the items.
Widgets¶
- 
class 
silx.gui.widgets.PrintPreview.PrintPreviewDialog(parent=None, printer=None)[source]¶ Bases:
PyQt4.QtGui.QDialogPrint preview dialog widget.
- 
addImage(image, title=None, comment=None, commentPosition=None)[source]¶ Add an image to the print preview scene.
Parameters: - image (QImage) – Image to be added to the scene
 - title (str) – Title shown above (centered) the image
 - comment (str) – Comment displayed below the image
 - commentPosition – “CENTER” or “LEFT”
 
- 
addPixmap(pixmap, title=None, comment=None, commentPosition=None)[source]¶ Add a pixmap to the print preview scene
Parameters: - pixmap (QPixmap) – Pixmap to be added to the scene
 - title (str) – Title shown above (centered) the pixmap
 - comment (str) – Comment displayed below the pixmap
 - commentPosition – “CENTER” or “LEFT”
 
- 
addSvgItem(item, title=None, comment=None, commentPosition=None, viewBox=None)[source]¶ Add a SVG item to the scene.
Parameters: - item (QSvgRenderer) – SVG item to be added to the scene.
 - title (str) – Title shown above (centered) the SVG item.
 - comment (str) – Comment displayed below the SVG item.
 - commentPosition (str) – “CENTER” or “LEFT”
 - viewBox (QRectF) – Bounding box for the item on the print page (xOffset, yOffset, width, height). If None, use original item size.
 
- 
setup()[source]¶ Open a print dialog to ensure the
printeris set.If the setting fails or is cancelled,
printeris reset to None.
- 
 
- 
class 
silx.gui.widgets.PrintPreview.SingletonPrintPreviewDialog(parent=None, printer=None)[source]¶ Bases:
silx.gui.widgets.PrintPreview.PrintPreviewDialogSingleton print preview dialog.
All widgets in a program that instantiate this class will share a single print preview dialog. This enables sending multiple images to a single page to be printed.
Example¶
import sys
from silx.gui import qt
from silx.gui.widgets import PrintPreviewDialog
a = qt.QApplication(sys.argv)
if len(sys.argv) < 2:
    print("give an image file as parameter please.")
    sys.exit(1)
if len(sys.argv) > 2:
    print("only one parameter please.")
    sys.exit(1)
filename = sys.argv[1]
w = PrintPreviewDialog()
w.resize(400, 500)
comment = ""
for i in range(20):
    comment += "Line number %d: En un lugar de La Mancha de cuyo nombre ...\n"
if filename[-3:] == "svg":
    item = qt.QSvgRenderer(filename, w.page)
    w.addSvgItem(item, title=filename,
                 comment=comment, commentPosition="CENTER")
else:
    w.addPixmap(qt.QPixmap.fromImage(qt.QImage(filename)),
                title=filename,
                comment=comment,
                commentPosition="CENTER")
    w.addImage(qt.QImage(filename), comment=comment, commentPosition="LEFT")
w.exec_()
a.exec_()