Verfasst: Freitag 8. August 2008, 13:06
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.
Das Ergebnis: Die eigentliche Ausgabe vom Programm kommt im Fenster an, die Ausgabe von avrdude landet ganz normal in der Konsole.
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"