PATH:
usr
/
lib64
/
python2.7
/
Demo
/
tkinter
/
guido
#! /usr/bin/env python # Simulate "electrons" migrating across the screen. # An optional bitmap file in can be in the background. # # Usage: electrons [n [bitmapfile]] # # n is the number of electrons to animate; default is 30. # # The bitmap file can be any X11 bitmap file (look in # /usr/include/X11/bitmaps for samples); it is displayed as the # background of the animation. Default is no bitmap. from Tkinter import * import random # The graphical interface class Electrons: # Create our objects def __init__(self, n, bitmap = None): self.n = n self.tk = tk = Tk() self.canvas = c = Canvas(tk) c.pack() width, height = tk.getint(c['width']), tk.getint(c['height']) # Add background bitmap if bitmap: self.bitmap = c.create_bitmap(width/2, height/2, bitmap=bitmap, foreground='blue') self.pieces = [] x1, y1, x2, y2 = 10,70,14,74 for i in range(n): p = c.create_oval(x1, y1, x2, y2, fill='red') self.pieces.append(p) y1, y2 = y1 +2, y2 + 2 self.tk.update() def random_move(self, n): c = self.canvas for p in self.pieces: x = random.choice(range(-2,4)) y = random.choice(range(-3,4)) c.move(p, x, y) self.tk.update() # Run -- allow 500 movemens def run(self): try: for i in range(500): self.random_move(self.n) except TclError: try: self.tk.destroy() except TclError: pass # Main program def main(): import sys, string # First argument is number of electrons, default 30 if sys.argv[1:]: n = string.atoi(sys.argv[1]) else: n = 30 # Second argument is bitmap file, default none if sys.argv[2:]: bitmap = sys.argv[2] # Reverse meaning of leading '@' compared to Tk if bitmap[0] == '@': bitmap = bitmap[1:] else: bitmap = '@' + bitmap else: bitmap = None # Create the graphical objects... h = Electrons(n, bitmap) # ...and run! h.run() # Call main when run as script 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]