furas

Python - tkinter - root.after (reddit.com)

Oct 27th, 2016
290
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.02 KB | None | 0 0
  1. import tkinter as tk
  2.  
  3. # --- constants --- (UPPER_CASE)
  4.  
  5. START = 1
  6. STOP  = 0
  7. EXIT  = -1
  8.  
  9. # --- functions ---
  10.  
  11. def test_loop():
  12.    
  13.     if looping == START:
  14.         print("test")
  15.     if looping == EXIT:
  16.         return
  17.  
  18.     # run again after 1000ms = 1s
  19.     root.after(1000, test_loop)
  20.        
  21.        
  22. def start():
  23.     global looping
  24.  
  25.     looping = START
  26.  
  27.  
  28. def stop():
  29.     global looping
  30.  
  31.     looping = STOP
  32.  
  33. # --- main ---
  34.  
  35. looping = STOP
  36.  
  37. root = tk.Tk()
  38.  
  39. text = tk.StringVar()
  40. text.set("Here's some text!")
  41.  
  42. leftFrame = tk.Frame(root)
  43. leftFrame.pack(side=tk.LEFT)
  44.  
  45. rightFrame = tk.Frame(root)
  46. rightFrame.pack(side=tk.RIGHT)
  47.  
  48. playButton = tk.Button(leftFrame, text="Play", fg="blue", command=start)
  49. playButton.pack(side=tk.TOP)
  50.  
  51. stopButton = tk.Button(rightFrame, text="Stop", fg="red", command=stop)
  52. stopButton.pack(side=tk.BOTTOM)
  53.  
  54. message = tk.Message(root, textvariable=text, relief=tk.RAISED)
  55. message.pack()
  56.  
  57. # start endless loop
  58. test_loop()
  59.  
  60. root.mainloop()
  61.  
  62. looping = EXIT
Add Comment
Please, Sign In to add comment