# Draws grid lines every 10px. from DrawingPanel import * def dump(obj): s = str(obj) + "\n" for k in dir(obj): if not k.startswith("_"): try: s += " " + str(k) + " = " + str(getattr(obj, k)) + "\n" except: pass return s def main(): w = 300 h = 200 inc = 10 panel = DrawingPanel(w, h) panel.color = "green" for x in range(0, w, inc): panel.draw_line(x, 0, x, h) for y in range(0, h, inc): panel.draw_line(0, y, w, y) panel.add_key_listener(lambda event: print("key:", dump(event))) # ["click", "doubleclick", "drag", "enter", "exit", "move", "press", "release", "wheel"]: panel.add_mouse_listener(lambda event: print("click:", panel.draw_pixel(event.x, event.y)), "click") ''' panel.add_mouse_listener(lambda event: print("doubleclick:", dump(event)), "doubleclick") panel.add_mouse_listener(lambda event: print("drag:", dump(event)), "drag") panel.add_mouse_listener(lambda event: print("enter:", dump(event)), "enter") panel.add_mouse_listener(lambda event: print("exit:", dump(event)), "exit") panel.add_mouse_listener(lambda event: print("middleclick:", dump(event)), "middleclick") panel.add_mouse_listener(lambda event: print("move:", dump(event)), "move") panel.add_mouse_listener(lambda event: print("release:", dump(event)), "release") panel.add_mouse_listener(lambda event: print("rightclick:", panel.set_size(300, 200)), "rightclick") panel.add_mouse_listener(lambda event: print("wheel:", dump(event), str(event.__dir__())), "wheel") ''' main()