Konsole umleiten in wxFenster

Plattformunabhängige GUIs mit wxWidgets.
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Ich habe jetzt einfach mal stumpf ein Beispiel aus wxPython in Action abgetippt und hab mit os.system() das Programm avrdude gestartet. Ohne Parameter gibt es einfach die Optionen aus.

Code: Alles auswählen

#!/usr/bin/env python
import wx
import sys
import os

class Frame(wx.Frame):
    def __init__(self, parent, id, title):
        print "Frame __init__"
        wx.Frame.__init__(self, parent, id, title)
        
class App(wx.App):
    def __init__(self, redirect=True, filename=None):
        print "App __init__"
        wx.App.__init__(self, redirect, filename)
    def OnInit(self):
        print "OnInit"      #Writing to stdout
        self.frame = Frame(parent=None, id=-1, title='Startup')            
        self.frame.Show()                                                  
        self.SetTopWindow(self.frame)
        print >> sys.stderr, "A pretend error message"      
        os.system("avrdude")    
        return True
    def OnExit(self):
        print "OnExit"
if __name__ == '__main__':
    app = App(redirect=True)
    print "before MainLoop"
                               
    app.MainLoop()    
    print "after MainLoop"
Das Ergebnis: Die eigentliche Ausgabe vom Programm kommt im Fenster an, die Ausgabe von avrdude landet ganz normal in der Konsole.
The Hit-Man
User
Beiträge: 435
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

ja so weit, war ich ja auch schon. Aber nehm einfach mal den 7z Packer und laß den was zusammen packen ( etwas großes, wo er viel zu tun hat ). Du wirst erst etwas zurück bekommen, wenn er fertig geowrden ist. EHER leider nicht :( und ich brauche eben die Werte, die er gerade beim Arbeiten aus gibt.
Antworten