Skip to content

Instantly share code, notes, and snippets.

@silasb
Created April 24, 2011 14:09
Show Gist options
  • Save silasb/939565 to your computer and use it in GitHub Desktop.
Save silasb/939565 to your computer and use it in GitHub Desktop.
Why doesn't printer work?
from PySide.QtCore import *
from PySide.QtGui import *
from PySide.QtWebKit import *
class Test(QWidget):
def __init__(self, parent=None):
super(Test, self).__init__(parent)
vbox = QVBoxLayout()
self.setLayout(vbox)
self.web = QWebView()
self.web.setHtml("<p style=\"color:red;\">Hello world</p>")
self.button = QPushButton("Print")
self.button.clicked.connect(self.doPrint)
vbox.addWidget(self.web)
vbox.addWidget(self.button)
def doPrint(self):
printer = QPrinter()
printer.setOutputFormat(QPrinter.PdfFormat)
printer.setOutputFileName("c:/test.pdf")
preview = QPrintPreviewDialog(printer)
preview.paintRequested.connect(self.web.print_)
preview.exec_()
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
test = Test()
self.setCentralWidget(test)
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
w = MainWindow()
w.show()
sys.exit(app.exec_())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment