Drucken mit Python / wxPython

Plattformunabhängige GUIs mit wxWidgets.
Eisfuchs

Drucken mit Python / wxPython

Beitragvon Eisfuchs » Donnerstag 15. April 2004, 12:10

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

Beitragvon Christopy » Freitag 16. April 2004, 23:46

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

Beitragvon Eisfuchs » Donnerstag 22. April 2004, 08:26

Vielen Dank!

Ich probier das mal aus...

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

Beitragvon Tux » Mittwoch 21. Dezember 2005, 09:43

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

Beitragvon Francesco » Mittwoch 21. Dezember 2005, 12:29

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

Beitragvon Tux » Mittwoch 21. Dezember 2005, 15:20

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

Beitragvon Tux » Montag 9. Januar 2006, 19:02

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...
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Montag 9. Januar 2006, 21:20

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 Modvoice

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder