QtPy und QPrinter, ich komme einfach nicht weiter!

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Nein, der Druck hat eigentlich wie erwartet funktionerit. Die krummen Werte sind bei mir nur im Dialog, nicht im "printer" Objekt.

ich habe allerdings jetzt auch nicht ausprobiert was passiert, wenn man die Werte im Dialog manuell setzt und nicht im Programm
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Puh, müßte man mal in den Sourcecode schauen, was die da eigentlich machen. Demnach übernimmt er nur geänderte Werte. Der PrintDialog scheint zumindest nicht der Qt-Leute liebstes Kind zu sein ;)
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Hab das gleiche Programm jetzt mal in C++ geschrieben. Konnte es noch nicht 100% testen, weil ich grad keinen zugriff auf den entsprechenden Drucker habe, aber der Dialog sieht deutlich besser aus. In den Advanced Properties bekomme ich jetzt auch was angezeigt. In der Python Version ist der Tab ausgegraut

Ich schätze mal, hier gibt es noch ein paar Defizite in den PyQt Bindings von Qt4.5 und Python 2.6
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Vllt. hast Du ja Lust, das ausgiebiger zu testen (mit Werteübergabe etc.) und das Fehlverhalten von Qt-C++ vs. PyQt zu dokumentieren. Da PyQt noch nicht final für Qt 4.5 erschienen ist, kann Riverbank evtl. noch nachbessern.

Falls ich Zeit finde, würd ich auch nochmal drüberschauen...

Grüße, Jerch
Benutzeravatar
klaus66
User
Beiträge: 51
Registriert: Mittwoch 11. März 2009, 09:26
Wohnort: Bergisch Gladbach-Bensberg

Ist ja interessant, wie sich der thread weiterentwickelt hat.
Ich war einige Tage außer Betrieb, im Krankenhaus wegen Rippenbruch, und staune jetzt, dass ich mit dem Druckerproblem offensichtlich doch nicht so ganz alleine dastand. :)
Ich werde mich in den nächsten Tagen nochmal mit dem Thema befassen.
Mit freundlichem Gruß Klaus

Das Geheimnis des Könnens liegt im Wollen!
Ubuntu 9.10 64Bit, AMD Athlon 64/Opteron 3200+, 1GB RAM, NVIDIA GeForce7, 250GB SATA 80GB USB und Asus Eee PC 4G mit Ubuntu-eee-8.04.1\\
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

jerch hat geschrieben:Vllt. hast Du ja Lust, das ausgiebiger zu testen (mit Werteübergabe etc.) und das Fehlverhalten von Qt-C++ vs. PyQt zu dokumentieren.
Wirklich Zeit, das zu testen, hab ich leider nicht. Aber ich kann die beiden Programme mal aufräumen und posten.

Aber für Jaunty kommt das wohl so oder so zu spät. Selbst wenn das Problem behoben wird landet es wohl nicht mehr in den Paketen
Benutzeravatar
klaus66
User
Beiträge: 51
Registriert: Mittwoch 11. März 2009, 09:26
Wohnort: Bergisch Gladbach-Bensberg

[quote="burli"]Ich grabe das Thema nochmal aus, weil ich gerade selbst am Drucken mit PyQt sitze. Folgendes Programm habe ich geschrieben und tut soweit (sorry für import *. Ich war zu faul )

Hi, burli,
meine Rippen sind soweit abgeheilt, dass ich wieder am PC hocken kann. :wink:

Aus gegebenem Anlass muss ich mich leider auch nochmal mit dem Druck befassen. Deine Druckfunktion hab ich mal getestet, kann aber keinerlei Einfluß der Margin-Einstellungen im Programm auf den Ausdruck feststellen. Einzig und allein die Einstellungen im Druckdialog werden tatsächlich verwendet! Das ist natürlich Blödsinn! Ich kann dem Benutzer nicht zumuten, dass er bei jedem Ausdruck im Dialog die Margins einstellen muß.
Es muss doch eine Möglichkeit geben, die Ränder auf einen anderen als den default-Wert einzustellen. Trotz aller Rumsucherei und Probiererei bin ich noch nicht fündig geworden. Für die Testphase werde ich deshalb den Dialog drinlassen. :cry:

Wenn irgendwer noch eine Idee hat, wie mann das Problem lösen kann, bitte ganz schnell melden!
Mit freundlichem Gruß Klaus

Das Geheimnis des Könnens liegt im Wollen!
Ubuntu 9.10 64Bit, AMD Athlon 64/Opteron 3200+, 1GB RAM, NVIDIA GeForce7, 250GB SATA 80GB USB und Asus Eee PC 4G mit Ubuntu-eee-8.04.1\\
Benutzeravatar
klaus66
User
Beiträge: 51
Registriert: Mittwoch 11. März 2009, 09:26
Wohnort: Bergisch Gladbach-Bensberg

So klappt die Drucker Funktion, wie ich es haben wollte! :lol:

Code: Alles auswählen

def drucken(self, text, copy):
        printer=QPrinter() 
        printer.setFullPage(False) 
        printer.setResolution(300) 
        printer.setOrientation(QPrinter.Portrait) 
        size=QSizeF(148.0, 210.0) 
        printer.setPaperSize(size, QPrinter.Millimeter) 
        printer.setPageMargins(5.0, 5.0, 5.0, 5.0, QPrinter.Millimeter) 
        printer.setNumCopies(copy)
        QTextDocument(text).print_(printer)
Er druckt das DINA5 Dokument mit 5 mm Rand ringsum. Genau so wollte ich es haben, auch ohne Druckdialog!
Vielen Dank an alle, die sich an dieser Diskussion beteiligt und mir damit geholfen haben.
Mit freundlichem Gruß Klaus

Das Geheimnis des Könnens liegt im Wollen!
Ubuntu 9.10 64Bit, AMD Athlon 64/Opteron 3200+, 1GB RAM, NVIDIA GeForce7, 250GB SATA 80GB USB und Asus Eee PC 4G mit Ubuntu-eee-8.04.1\\
Antworten