[prev in list] [next in list] [prev in thread] [next in thread]
List: pykde
Subject: Re: [PyQt] QPrintDialog (pyqt4)
From: jaybstory <jaybstory () yahoo ! com>
Date: 2010-02-20 4:10:15
Message-ID: 27663457.post () talk ! nabble ! com
[Download RAW message or body]
Thank you very much.
Russell Valentine wrote:
>
> You can do something like this if it is a function of your MainWindow.
> self as a argument in grabWidget is your baseWidget, like a QMainWindow
> for example. No doubt you would have to make sure it fits on the page
> though and resize it as needed.
>
> def goPrinter(self):
> printer=QtGui.QPrinter()
> dialog = QtGui.QPrintDialog(printer, self)
> if(dialog.exec_() != QtGui.QDialog.Accepted):
> return
> p=QtGui.QPixmap.grabWidget(self)
> printLabel = QtGui.QLabel()
> printLabel.setPixmap(p)
> painter = QtGui.QPainter(printer)
> printLabel.render(painter)
> painter.end()
>
>
> jaybstory wrote:
>> 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@riverbankcomputing.com
>>> http://www.riverbankcomputing.com/mailman/listinfo/pyqt
>>>
>>>
>>
>
> _______________________________________________
> PyQt mailing list PyQt@riverbankcomputing.com
> http://www.riverbankcomputing.com/mailman/listinfo/pyqt
>
>
--
View this message in context: http://old.nabble.com/QPrintDialog-%28pyqt4%29-tp27619288p27663457.html
Sent from the PyQt mailing list archive at Nabble.com.
_______________________________________________
PyQt mailing list PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic