Seite 1 von 1

wx + threading

Verfasst: Freitag 4. November 2005, 19:31
von jui
Hallo an alle!

Ich habe ein bisschen Code geschrieben und ich frage mich warum der nicht funktioniert.

Code: Alles auswählen

import threading, wx

class MainWindow(wx.Frame):

    def __init__(self, title):
        wx.Frame.__init__(self, None, -1, title)


class _QuickSend(wx.App):

    def OnInit(self):
        
        mw = MainWindow('QuickSend')
        self.SetTopWindow(mw)
        mw.Show(True)

        return True


class QuickSend(threading.Thread):

    def run(self):

        qs = _QuickSend()
        qs.Mainloop()
        print 'exit thread'


if __name__ == '__main__':

    qs = QuickSend()
    print 'start thread'
    qs.start()
    qs.join()
    print 'exit modul'

    #qs = _QuickSend()
    #qs.MainLoop()
    #print 'exit modul'
Grüsse

Verfasst: Samstag 5. November 2005, 11:59
von jui
Also ich habe den Code mit Python 2.4.1 und 2.4.2 jeweils auf zwei verschiedenen Win2000 Rechner getestet, bei beiden das selbe Problem.

IMO müsste der Code korrekt arbeiten tut er aber nicht. Habt ihr irgendwelche Vermutungen oder Vorschläge wie man eine wx.App in einen Thread packen kann?

Verfasst: Sonntag 6. November 2005, 15:40
von jui
Ok nachdem ich auf der wxPython Maillinglist nachgefragt hab hat sich herausgestellt das wx immer im main thread laufen muss!

jui