[PyQt] QPrintDialog (pyqt4)
jaybstory
jaybstory at yahoo.com
Sat Feb 20 02:35:21 GMT 2010
I understand your example for printing Labels. I'm wondering if there is a
way to just print the entire GUI? I tried to do this, but its not correct:
def printd(self):
printer=QtGui.QPrinter()
dialog = QtGui.QPrintDialog(printer, self)
if(dialog.exec_() != QtGui.QDialog.Accepted):
return
printGUI = QtGui.QTabWidget
painter = QtGui.QPainter(printer)
printGUI.render(painter)
painter.end()
maybe I'm not understanding the way render works? Or is this the wrong
approach all together? Thank you.
Russell Valentine wrote:
>
> Joi Barnett wrote:
>> thank you for the reply,
>>
>> do you have an example of how to use QPrinter in python?
>
>
> I didn't have one, but I just made one really quick. Very simple
> example. I Cc'd the list in case anyone else had anything to add.
>
>
> from PyQt4 import QtGui, QtCore
>
> class MainWindow(QtGui.QMainWindow):
> def __init__(self, app):
> QtGui.QMainWindow.__init__(self)
> self.app=app
> self.label=QtGui.QLabel("Print test")
> self.setCentralWidget(self.label)
> def goPrinter(self):
> printer=QtGui.QPrinter()
> dialog = QtGui.QPrintDialog(printer, self)
> if(dialog.exec_() != QtGui.QDialog.Accepted):
> return
> printLabel = QtGui.QLabel("Hello my printer.")
> painter = QtGui.QPainter(printer)
> printLabel.render(painter)
> painter.end()
>
> if __name__ == "__main__":
> import sys
> app = QtGui.QApplication(sys.argv)
> window=MainWindow(app)
> window.show()
> QtCore.QTimer.singleShot(1000, window.goPrinter)
> #ui.show()
> sys.exit(app.exec_())
>
> _______________________________________________
> PyQt mailing list PyQt at riverbankcomputing.com
> http://www.riverbankcomputing.com/mailman/listinfo/pyqt
>
>
--
View this message in context: http://old.nabble.com/QPrintDialog-%28pyqt4%29-tp27619288p27662974.html
Sent from the PyQt mailing list archive at Nabble.com.
More information about the PyQt
mailing list