Threading and wx.....

2008-08-08 Thread SamG
Hi,

Im trying my hand at threading with wx applications. I have written
the following code...

import wx
from threading import Thread, Lock

class createWindow(Thread):
def __init__(self):
Thread.__init__(self)
self.lock = Lock()
self.app=None

def run(self):
#self.lock.acquire()
self.app = wx.PySimpleApp()
frame = wx.Frame(None, title=Hello wx)
frame.Show()
#self.lock.release()
self.app.MainLoop()


if __name__=='__main__':
c = createWindow()
c.start()
c.join()

Now when i run this program i get a window but the application just
does not respond. Is there something that im missing here. Pls let me
know. Thanks in advance.
--
http://mail.python.org/mailman/listinfo/python-list


Re: Threading and wx.....

2008-08-08 Thread SamG
On Aug 8, 12:01 pm, SamG [EMAIL PROTECTED] wrote:
 Hi,

 Im trying my hand at threading with wx applications. I have written
 the following code...

 import wx
 from threading import Thread, Lock

 class createWindow(Thread):
 def __init__(self):
 Thread.__init__(self)
 self.lock = Lock()
 self.app=None

 def run(self):
 #self.lock.acquire()
 self.app = wx.PySimpleApp()
 frame = wx.Frame(None, title=Hello wx)
 frame.Show()
 #self.lock.release()
 self.app.MainLoop()

 if __name__=='__main__':
 c = createWindow()
 c.start()
 c.join()

 Now when i run this program i get a window but the application just
 does not respond. Is there something that im missing here. Pls let me
 know. Thanks in advance.

Oops! Murphy's law works again! And the above code is working fine.
--
http://mail.python.org/mailman/listinfo/python-list


Re: Threading and wx.....

2008-08-08 Thread Mike Driscoll
On Aug 8, 2:19 am, SamG [EMAIL PROTECTED] wrote:
 On Aug 8, 12:01 pm, SamG [EMAIL PROTECTED] wrote:



  Hi,

  Im trying my hand at threading with wx applications. I have written
  the following code...

  import wx
  from threading import Thread, Lock

  class createWindow(Thread):
      def __init__(self):
          Thread.__init__(self)
          self.lock = Lock()
          self.app=None

      def run(self):
          #self.lock.acquire()
          self.app = wx.PySimpleApp()
          frame = wx.Frame(None, title=Hello wx)
          frame.Show()
          #self.lock.release()
          self.app.MainLoop()

  if __name__=='__main__':
      c = createWindow()
      c.start()
      c.join()

  Now when i run this program i get a window but the application just
  does not respond. Is there something that im missing here. Pls let me
  know. Thanks in advance.

 Oops! Murphy's law works again! And the above code is working fine.

You'll probably also find the following wiki article helpful:
http://wiki.wxpython.org/LongRunningTasks

And there's at least one demo in the wxPython Demo that's a good
example of threading.

Mike
--
http://mail.python.org/mailman/listinfo/python-list