wx.Timer not working

5lvqbwl02 at sneakemail.com 5lvqbwl02 at sneakemail.com
Sat Jul 26 21:33:40 CEST 2008


Windows XP SP3
Python 2.5
wx.version() = '2.8.1.1 (msw-unicode)'
------
I have written the following *simplest* implementation of wx.timer I
can think of.  No workie.   I want an exception, a print statement, or
something.

The wxpython demos all work, but for some reason this isn't.  The
demos are simple and straghtforward, so I think I understand how it
should work.  Clues please?  I've tried variations of ID's, SetOwners,
using and redefining Notify(), Bind, Connect, etc.  In the cases where
the interpreter doesn't complain about passed argument types, the
callback function is never called.


import wx

class MyFrame(wx.Frame):
	def __init__(self, parent, id, title):
		wx.Frame.__init__(self,	parent,	id,	title, pos=(100, 100))

		timer = wx.Timer(self, -1)
		self.Bind(wx.EVT_TIMER, self.OnTick, timer)
		timer.Start(100)

	def OnTick(self, event):
		print 'Hi. Bye.'
		1/0 #<-- should crash as evidence callback is being called

class MyApp(wx.App):
	def OnInit(self):
		frame1 = MyFrame(None, wx.ID_ANY, "This is a test")
		frame1.Show(True)
		return True

app	= MyApp(0)
app.MainLoop()


Thanks for any advice!!

Michael







More information about the Python-list mailing list