PATH:
usr
/
lib64
/
python2.7
/
Demo
/
tkinter
/
guido
# Brownian motion -- an example of a NON multi-threaded Tkinter program ;) # By Michele Simoniato, inspired by brownian.py from Tkinter import * import random import sys WIDTH = 400 HEIGHT = 300 SIGMA = 10 BUZZ = 2 RADIUS = 2 LAMBDA = 10 FILL = 'red' stop = 0 # Set when main loop exits root = None # main window def particle(canvas): # particle = iterator over the moves r = RADIUS x = random.gauss(WIDTH/2.0, SIGMA) y = random.gauss(HEIGHT/2.0, SIGMA) p = canvas.create_oval(x-r, y-r, x+r, y+r, fill=FILL) while not stop: dx = random.gauss(0, BUZZ) dy = random.gauss(0, BUZZ) try: canvas.move(p, dx, dy) except TclError: break else: yield None def move(particle): # move the particle at random time particle.next() dt = random.expovariate(LAMBDA) root.after(int(dt*1000), move, particle) def main(): global root, stop root = Tk() canvas = Canvas(root, width=WIDTH, height=HEIGHT) canvas.pack(fill='both', expand=1) np = 30 if sys.argv[1:]: np = int(sys.argv[1]) for i in range(np): # start the dance move(particle(canvas)) try: root.mainloop() finally: stop = 1 if __name__ == '__main__': main()
[-] solitaire.py
[edit]
[-] wish.py
[edit]
[-] hanoi.pyo
[edit]
[-] brownian2.pyc
[edit]
[-] svkill.py
[edit]
[-] MimeViewer.pyo
[edit]
[-] hello.pyc
[edit]
[-] paint.pyc
[edit]
[-] rmt.pyc
[edit]
[-] ShellWindow.pyc
[edit]
[-] electrons.pyc
[edit]
[-] switch.pyo
[edit]
[-] mbox.py
[edit]
[-] optionmenu.py
[edit]
[+]
..
[-] hello.py
[edit]
[-] electrons.py
[edit]
[-] ShellWindow.py
[edit]
[-] ss1.pyo
[edit]
[-] optionmenu.pyo
[edit]
[-] listtree.py
[edit]
[-] listtree.pyo
[edit]
[-] paint.pyo
[edit]
[-] brownian2.pyo
[edit]
[-] mbox.pyc
[edit]
[-] imagedraw.pyo
[edit]
[-] optionmenu.pyc
[edit]
[-] imagedraw.py
[edit]
[-] dialog.pyc
[edit]
[-] canvasevents.pyo
[edit]
[-] AttrDialog.pyc
[edit]
[-] newmenubardemo.pyc
[edit]
[-] solitaire.pyc
[edit]
[-] switch.py
[edit]
[-] tkman.pyo
[edit]
[-] paint.py
[edit]
[-] wish.pyc
[edit]
[-] listtree.pyc
[edit]
[-] hanoi.py
[edit]
[-] newmenubardemo.pyo
[edit]
[-] rmt.py
[edit]
[-] sortvisu.pyo
[edit]
[-] solitaire.pyo
[edit]
[-] wish.pyo
[edit]
[-] AttrDialog.pyo
[edit]
[-] imagedraw.pyc
[edit]
[-] svkill.pyo
[edit]
[-] AttrDialog.py
[edit]
[-] newmenubardemo.py
[edit]
[-] brownian.pyo
[edit]
[-] tkman.pyc
[edit]
[-] dialog.py
[edit]
[-] kill.pyc
[edit]
[-] sortvisu.py
[edit]
[-] ss1.py
[edit]
[-] canvasevents.pyc
[edit]
[-] ManPage.py
[edit]
[-] ShellWindow.pyo
[edit]
[-] mbox.pyo
[edit]
[-] hanoi.pyc
[edit]
[-] brownian.pyc
[edit]
[-] MimeViewer.pyc
[edit]
[-] imageview.py
[edit]
[-] electrons.pyo
[edit]
[-] kill.py
[edit]
[-] imageview.pyo
[edit]
[-] sortvisu.pyc
[edit]
[-] ManPage.pyo
[edit]
[-] ManPage.pyc
[edit]
[-] canvasevents.py
[edit]
[-] hello.pyo
[edit]
[-] switch.pyc
[edit]
[-] rmt.pyo
[edit]
[-] tkman.py
[edit]
[-] brownian2.py
[edit]
[-] svkill.pyc
[edit]
[-] MimeViewer.py
[edit]
[-] imageview.pyc
[edit]
[-] dialog.pyo
[edit]
[-] brownian.py
[edit]
[-] kill.pyo
[edit]
[-] ss1.pyc
[edit]