Ok, here's another related question. Code here: http://pastebin.com/xPCeXz6M
If I write a class definition containing event stuff, I expect the instantiation of that class to be the thing that causes the event handlers to be defined. Instead, it seems they get defined immediately. In my code example, the program will print "AFTER CLASS DEF" on any keypress, even if I instantiate the class after the second function definition. This is annoying. It seems to make it tricky to factor out things like menus or whatever into separate classes, because those classes won't allow the event handler definitions to be created on instantiation of whatever class. Or am I wrong? On Tuesday, February 25, 2014 12:03:39 PM UTC+2, Petr Viktorin wrote: > > On Python 3 you can use nonlocal, like so: > > def main(): > select = 0 > > @window.event > def on_key_press(symbol, mods): > nonlocal select > if symbol == key.DOWN: > select += 1 > > > On Tue, Feb 25, 2014 at 10:03 AM, Henré Botha > <[email protected]<javascript:>> > wrote: > > Ah, thanks Petr! I didn't know assignments re-designate scope. I'll try > your solutions tonight. I'm on Python 3, but I have to say your two > proposed 2.x hacks don't strike me as valid. We'll see, I guess :P > > > > -- > > You received this message because you are subscribed to the Google > Groups "pyglet-users" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to [email protected] <javascript:>. > > To post to this group, send email to > > [email protected]<javascript:>. > > > Visit this group at http://groups.google.com/group/pyglet-users. > > For more options, visit https://groups.google.com/groups/opt_out. > -- You received this message because you are subscribed to the Google Groups "pyglet-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/pyglet-users. For more options, visit https://groups.google.com/groups/opt_out.
