Guest User

Untitled

a guest
Jun 22nd, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. #!/usr/bin/env python3
  2.  
  3. import tkinter as tk
  4. from tkinter import simpledialog, messagebox
  5. import threading, queue, time
  6.  
  7. root = tk.Tk()
  8. root.withdraw()
  9. thread_queue = queue.Queue()
  10.  
  11. def show_error(error):
  12. messagebox.showerror('ERROR', error, parent = root)
  13.  
  14. def main(thread_queue):
  15. while 1:
  16. print("Infinite Loop")
  17. time.sleep(3)
  18. print("Infinite Loop2")
  19. thread_queue.put({ 'call': 'show_error', 'error': 'porra' })
  20. time.sleep(5)
  21.  
  22. def probe_for_message():
  23. try:
  24. res = thread_queue.get(0)
  25. if res['call'] == 'show_error':
  26. show_error(res['error'])
  27. except queue.Empty:
  28. pass
  29.  
  30. root.after(500, probe_for_message)
  31.  
  32. if __name__ == "__main__":
  33. main_thread = threading.Thread(target = main, args=(thread_queue, ))
  34. main_thread.start()
  35.  
  36. root.after(500, probe_for_message)
  37. root.mainloop()
Add Comment
Please, Sign In to add comment