在博文“python tkinter窗口实现多线程秒表的两种方法”中,第2种创建秒表方法是每秒创建一个新线程,结束旧线程,这样频繁创建新线程,结束旧线程,虽然程序能正常运行,但显然不合理,要消耗大量cpu资源,不是编程的好习惯。很多网页都在介绍这种方法,批评的网页明显少于推荐的网页。
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:961562169
我查了python官方文档,有关定时器对象只给出一个例子如下,并没有在函数中循环创建新线程的例子,即在函数中循环创建新线程不是python官方给出的例子。
def hello():
print("hello, world")
t = Timer(30.0, hello)
t.start() # after 30 seconds, "hello, world" will be printed
设计秒表,只是希望秒表代码在一个线程运行,直到秒表结束。其实使用Timer类也是能做到的,下边是实现的代码,不妥之处,欢迎指正。
from threading import Timer
import time
import tkinter as tk
def hello():
global k,n
while n==0:
k+=1
label['text']=str(k)
time.sleep(1)
def do_job():
global n
n=1
#t.cancel() #执行此条不能结束,仅当计时器仍处于等待状态时有效。
root = tk.Tk()
root.geometry("300x100")
k=0
n=0
label=tk.Label(root,te

本文探讨了在Python的tkinter GUI中实现多线程秒表的两种方法,指出了一种常见但消耗CPU资源的方法,并提倡避免频繁创建和结束线程。作者提供了更好的实现方式,强调设计秒表应确保代码在一个线程内运行。同时,分享了学习Python资源的相关信息。
最低0.47元/天 解锁文章
7998

被折叠的 条评论
为什么被折叠?



