Seite 1 von 1

Drucken mit Python / wxPython

Verfasst: Donnerstag 15. April 2004, 12:10
von Eisfuchs
Hallo allerseits.

Ich bin neu in dieser Programmiersprache und habe ein Problem bei einer GUI Anwendung die ich gerae schreibe.

Das GUI basiert auf wxPython.

Ich habe ein TextControl, dessen Text ich gerne drucken möchte. Bei wxPython gibt es einen Standard Dialog zum Drucken. Aber wie druck ich denn jetzt?

Vielen Dank, Eisfuchs

Verfasst: Freitag 16. April 2004, 23:46
von Christopy
Hallo Eisfuchs
drucken unter wxPython ist auf den ersten Blick etwas verwirrend, lichtet sich aber, wenn man das Prinzip verstanden hat.

Die Klasse wxPrintout verwaltet den ganzen Druckjob.
Mit wxPrinter.Print() kannst Du dann ganz einfach drucken.

Code: Alles auswählen

class MyFrame(wxFrame):
[...]
    def __OnPrint( self, event ):
        printer = wxPrinter()
        printout = MyPrintout()
        printer.Print( self, printout, True )
        printout.Destroy()


class MyPrintout( wxPrintout ):
    def OnPrintPage(self, page):
        dc = self.GetDC()
        dc.DrawText("Hallo, ich bin gedruckt... :)" , 50, 50)
        return True
Das ganze ist in der wxWidgets Hilfe beschrieben. Such dort mal nach "Printing overview". Es gibt auch ein demo Script dazu (\Python23\Lib\site-packages\wxPython\demo\PrintFramework.py ).

Verfasst: Donnerstag 22. April 2004, 08:26
von Eisfuchs
Vielen Dank!

Ich probier das mal aus...

Viele Grüße, Eisfuchs :D

Verfasst: Mittwoch 21. Dezember 2005, 09:43
von Tux
Hi @ll,

ist es möglich auch Tabellen drucken zu lassen -- mit Gitternetz ohne extra erst alles in Excel o. ä. zu schreiben und dann den Druckbefehl zu geben?

Bisher sind alle Daten, die gedruckt werden sollen im GUI in Listboxen (eine Listbox wäre Spalte der Tabelle) oder intern als geschachtelte Liste.

Wenn es nicht geht, würde er es ordentlich übereinander orientieren, wenn man versucht mittels "Tab" eine "Tabelle" zu erstellen - halt ohne Gitternetz?

danke schonmal

ps: habe noch nie mit wxPython gearbeitet (also bitte nicht zu kompliziert erklären)...

Verfasst: Mittwoch 21. Dezember 2005, 12:29
von Francesco
Tux hat geschrieben:Hi @ll,

ist es möglich auch Tabellen drucken zu lassen -- mit Gitternetz ohne extra erst alles in Excel o. ä. zu schreiben und dann den Druckbefehl zu geben?

ps: habe noch nie mit wxPython gearbeitet (also bitte nicht zu kompliziert erklären)...
Ich weiss nicht, ob dies deinen Ansprüchen genügt,
aber sieh dir mal im Demo: More Windows/Controls => TablePrint an.

Verfasst: Mittwoch 21. Dezember 2005, 15:20
von Tux
ich werde es mal testen - danke

Verfasst: Montag 9. Januar 2006, 19:02
von Tux
Hab es mir mal angeschaut und inhaltlich auch größtenteils verstanden.

Jedoch stehe ich nun vor einem Problem: Ich hab mein bisheriges Programm mit Tkinter geschrieben --> ist es möglich, innerhalb von Tkinter das Drucken von wx zu nutzen (wenn möglich auch mit der Vorschau)...

Ich bekomme immer einen
NoApp-Error <-- verstehe nicht genau, wie der hervorgerufen wird und hab auch keine Ahnung, was ich dagegen tun kann...

Verfasst: Montag 9. Januar 2006, 21:20
von Leonidas
Tux hat geschrieben:Ich bekomme immer einen
NoApp-Error <-- verstehe nicht genau, wie der hervorgerufen wird und hab auch keine Ahnung, was ich dagegen tun kann...
Eine wx.App erstellen. Ein Grundgerüst findest du als wx.PySimpleApp.