Solve the delay problem of Python Tkinter and sleep

User 7886150 2021-01-22 14:54:20
solve delay problem python tkinter


Reference link : Python sleep()

Multithreading (threading——join) 

 join () Method : The main thread A in , Created a child thread B, And in the main thread A Called in B.join(), that , The main thread A It will wait where it is called , Until the child thread B After completing the operation , 

  Then we can carry on , When calling this thread, you can use the join Method .join([timeout]) The parameters are optional , Represents the maximum running time of a thread  

  between , That is, if it exceeds this time , No matter whether the thread has finished executing or not, it will be recycled , Then the main thread or function will continue to execute , If the thread execution time is less than the parameter  

  Time , Then execute , You don't have to wait until the time indicated by the parameter . 

   1 import threading

 2 import time

 3 # Create two test variables

 4 num_1 = 0

 5 num_2 = 0

 6 def te_1():

 7     global num_1

 8     # take num_1 Add to 3

 9     for i in range(3):

10         num_1 += 1

11         print(" I am a num_1: " + str(num_1))

12         time.sleep(1)

13 def te_2():

14     global num_2

15     # take num_2 Add to 3

16     for i in range(3):

17         num_2 += 1

18         print(" I am a num_2: " + str(num_2))

19         time.sleep(1)

20 t1 = threading.Thread(target=te_1)

21 t1.start()

22 t2 = threading.Thread(target=te_2)

23 #join For the waiting thread , wait for t1 The thread is finished , Re execution t2 Threads

24 t1.join()

25 t2.start() 

  Multithreading (threading——setDeamon) 

 setDaemon() Method . The main thread A in , Created a child thread B, And in the main thread A Called in B.setDaemon(), This means , Put the main thread A Set to daemons , this  

  When , If the main thread A Execution is over , It doesn't matter if the child thread B Whether it is completed or not , Together with the main thread A sign out . This is it. setDaemon The meaning of method , It's basically the same join It's the opposite . Besides , also  

  One thing to pay special attention to : Must be in start() Set before method invocation , If it is not set as a daemonic thread , The program will be suspended indefinitely , Only after waiting for all threads to end does it end . 

   1 import threading

 2 import time

 3 # Create two test variables

 4 num_1 = 0

 5 num_2 = 0

 6 def te_1():

 7     global num_1

 8     # take num_1 Add to 3

 9     for i in range(3):

10         num_1 += 1

11         print(" I am a num_1: " + str(num_1))

12         time.sleep(1)

13 def te_2():

14     global num_2

15     # take num_2 Add to 5

16     for i in range(5):

17         num_2 += 1

18         print(" I am a num_2: " + str(num_2))

19         time.sleep(1)

20 t1 = threading.Thread(target=te_1)

21 t1.start()

22 t2 = threading.Thread(target=te_2)

23 # Daemon t2, When t1 No more execution after execution t2

24 t2.setDaemon(t1)

25 t2.start() 

  Here's how to solve time.sleep, It's very simple , Just create a thread and let it execute by itself  

   1 """ Xiaobai's essay , Bosses do not spray """

 2 '''tkinter solve time Delay problem '''

 3 import tkinter as tk

 4 import time

 5 import threading

 6 # Initialize window

 7 window = tk.Tk()

 8 # Window name

 9 window.title("My Window")

10 # Window size , yes x No *

11 window.geometry("400x400")

12 # You can't change the size of the window

13 window.resizable(width=False,height=False)

14 def count():

15     label = tk.Label(window,bg='green')

16     label.pack()

17     button.pack()

18     while True:

19         try:

20             # Get the current time

21             date = time.strftime("%Y-%m-%d\n%H:%M:%S")

22             label.config(text=date)

23             # Update window

24             window.update()

25             time.sleep(1)

26         except:

27             break

28 # Create button , Just for testing sleep Whether there is a delay between and the button

29 button = tk.Button(window,text='Hit_me',width=20)

30 # Create thread , If there are arguments in a function ,args=()

31 t = threading.Thread(target=count)

32 # Open thread

33 t.start()

34 # Loop window

35 window.mainloop() 

  Limited technology , I can't record gif chart  

Reproduced in :https://www.cnblogs.com/py-peng/p/10339597.html

Link to the original text : https://blog.csdn.net/weixin_30951743/article/details/96667804?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161129610916780255221056%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161129610916780255221056&biz_id=0&utm_medium=distribute.pc_search_result

版权声明
本文为[User 7886150]所创,转载请带上原文链接,感谢
https://pythonmana.com/2021/01/20210122145245425m.html

  1. appium+python自动化63-使用Uiautomator2报错问题解决
  2. Tornado: the mainstream Python Web Framework
  3. Appium + Python automation 63 - using uiautomator2 to solve the problem of error reporting
  4. 爬虫+django,打造个性化API接口
  5. Crawler + Django to create personalized API interface
  6. 爬虫+django,打造个性化API接口
  7. Crawler + Django to create personalized API interface
  8. C、C++、Java、PHP、Python主要应用在哪里方面?
  9. C. Where are the main applications of C + +, Java, PHP and python?
  10. Python 无限级分类树状结构生成算法 「实用代码」
  11. Python infinite classification tree structure generation algorithm "practical code"
  12. 【Azure 存储服务】Python模块(azure.cosmosdb.table)直接对表存储(Storage Account Table)做操作示例
  13. [azure storage service] Python module( azure.cosmosdb.table )Direct operation example of storage account table
  14. 【Azure 存储服务】Python模块(azure.cosmosdb.table)直接对表存储(Storage Account Table)做操作示例
  15. [azure storage service] Python module( azure.cosmosdb.table )Direct operation example of storage account table
  16. openpose c++ 配置教程 + python api
  17. Openpose C + + configuration tutorial + Python API
  18. PYTHON爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用二手急速响应捡垃圾平台_3(附源码持续更新)
  19. 使用python javaSerializationTools模块拼接生成 8u20 Gadget
  20. 萌新入门之python基础语法
  21. python中hmac模块的使用
  22. Python crawler_ Garbage man idle fish crawler turn crawler data integration self use second hand rapid response garbage collection platform_ 3 (with continuous source update)
  23. Using Python javaserialization tools module to generate 8u20 gadget
  24. The basic syntax of Python
  25. The use of HMAC module in Python
  26. 攻防世界web进阶区Web_python_block_chain详解
  27. Attack and defense world web advanced zone Web_ python_ block_ Details of chain
  28. pandas DataFrame的新增行列,修改、删除、筛选、判断元素以及转置操作
  29. Add rows and columns, modify, delete, filter, judge elements and transpose operations in pandas dataframe
  30. pandas DataFrame的新增行列,修改、删除、筛选、判断元素以及转置操作
  31. Add rows and columns, modify, delete, filter, judge elements and transpose operations in pandas dataframe
  32. 虚言妙诀终虚见,面试躬行是致知,Python技术面试策略与技巧实战记录
  33. The interview practice is knowledge, python technology interview strategy and skills of the actual record
  34. 用tqdm和rich为固定路径和目标的python算法代码实现进度条
  35. Using tqdm and rich as the fixed path and target of Python algorithm code to realize the progress bar
  36. 我来记笔记啦-Django开发流程与配置
  37. Let me take notes - Django development process and configuration
  38. python数据类型的强制转换
  39. Django报错:'Key 'id' not found in 'xxx'. Choices are: xxx'
  40. Python400集大型视频,从正确的方向出发学习,全套完整送给大家
  41. Mandatory conversion of Python data type
  42. Django reported an error: 'key' ID 'not found in' xxx '. Choices are: xxx'
  43. Python 400 sets of large video, starting from the right direction to learn, a complete set to you
  44. 只需十四步:从零开始掌握Python机器学习(附资源)
  45. Just 14 steps: Master Python machine learning from scratch (resources attached)
  46. Python|文件读写
  47. 安利一个Python界神奇得网站
  48. Python | file reading and writing
  49. Amway is a marvelous website in Python world
  50. 第二热门语言:从入门到精通,Python数据科学简洁教程
  51. The second popular language: from introduction to mastery, python data science concise tutorial
  52. 以我的亲身经历,聊聊学python的流程,同时推荐学python的书
  53. With my own experience, I'd like to talk about the process of learning Python and recommend books for learning python
  54. 以我的亲身经历,聊聊学python的流程,同时推荐学python的书
  55. With my own experience, I'd like to talk about the process of learning Python and recommend books for learning python
  56. Django url 路由匹配过程
  57. Django URL routing matching process
  58. 强者一出,谁与争锋?与Python相比,C++的运行速度究竟有多快?
  59. Who will fight against the strong? How fast is C + + running compared with Python?
  60. python 学习体会