StdOut statt in die Konsole in ein GUI-Fenster mit wxPython

Code-Stücke können hier veröffentlicht werden.
Antworten
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hi!

Es ist nichts besonderes. Es soll nur so als Idee dienen und manchmal kann man es ja brauchen. Einfache Programme, die nur mal schnell etwas anzeigen sollen, müssen nicht immer mit einer ausgeklügelten GUI versehen werden. Oft ist es aber auch zu wenig, die Daten einfach in eine Konsole schreiben zu lassen.

Wie wäre es mit einem kleinen Fenster in dem alles angezeigt wird was an StdOut und StdErr geschrieben wird? Mit wxPython kein Problem:

Bild

Hier der Code dazu:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import wx
import sys

# Einfache wxPython-Anwendung initialisieren und Ausgabe an Fenster weiterleiten
app = wx.PySimpleApp(redirect = True)

# Das was vorher in die Konsole geschrieben wurde,
# wird jetzt in ein GUI-Fenster geschrieben.
print "Das ist normaler Text..."
sys.stderr.write("Das ist eine Fehlerausgabe...\n")

# Hier wird gewartet bis das Fenster geschlossen wurde.
app.MainLoop()
lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Xell
User
Beiträge: 3
Registriert: Montag 4. Dezember 2006, 16:20

Ich hatte genau das umgekehrte Problem. Alle offiziellen Beispiele von wxPython schreiben in so ein Fenster und sobald das Programm terminiert ist das Fenster auch weg. *grml*

redirect=False macht das Ganze zum Glück rückgängig. :)
Antworten