Seite 1 von 1

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

Verfasst: Freitag 14. April 2006, 22:24
von gerold
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
:-)

Verfasst: Dienstag 5. Dezember 2006, 16:34
von Xell
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. :)