wx + threading

Plattformunabhängige GUIs mit wxWidgets.
Antworten
jui

Freitag 4. November 2005, 19:31

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
jui

Samstag 5. November 2005, 11:59

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?
jui

Sonntag 6. November 2005, 15:40

Ok nachdem ich auf der wxPython Maillinglist nachgefragt hab hat sich herausgestellt das wx immer im main thread laufen muss!

jui
Antworten