Drucken mit Python / wxPython

Plattformunabhängige GUIs mit wxWidgets.
Antworten
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
Christopy
User
Beiträge: 131
Registriert: Montag 15. Dezember 2003, 22:39

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 ).
Eisfuchs

Vielen Dank!

Ich probier das mal aus...

Viele Grüße, Eisfuchs :D
Tux
User
Beiträge: 70
Registriert: Freitag 8. November 2002, 23:07
Kontaktdaten:

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)...
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

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.
Tux
User
Beiträge: 70
Registriert: Freitag 8. November 2002, 23:07
Kontaktdaten:

ich werde es mal testen - danke
Tux
User
Beiträge: 70
Registriert: Freitag 8. November 2002, 23:07
Kontaktdaten:

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...
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten