tkinter学习之计时及取消

import tkinter as tk
 
counter = 0 
def counter_label(label):
  def count():
    global counter
    global s
    counter += 1
    label.config(text=str(counter))
    s=label.after(1000, count)
  count()
 
def stop():
	'''停止计数'''
	label.after_cancel(s)
root = tk.Tk()
root.title("Counting Seconds")
label = tk.Label(root, fg="green")
label.pack()
counter_label(label)
button = tk.Button(root, text='Stop', width=25, command=stop,relief=tk.GROOVE)
button.pack()
'''按钮另一种写法'''
quit = tk.Button(root)
quit['text']='退出'
quit['command']=root.quit
quit.pack()

root.mainloop()

先说说想法,之前看网络上翻译的tkinter简易教程发现有个技术的例子,发现如果停止计数只有退出窗口,没有停止功能,后来查看一些资料需要用到after_cancel(id),id是after打印出的数据,打印结果如下

after#0
after#1
after#2

思路想办法传给after_cancel,label没有get(),所以用global s。

控件有几写法,参照代码里的button和quit。

button:按钮常用属性

text按钮显示名称
bg背景颜色
command按钮动作,封装好的函数如例子里的stop
relief按钮样式
width
height

除以上几种button类型,还有许多类型再此就不一一写出了。
源码地址:
源码

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]中的代码是一个使用tkinter库实现的倒计时器。代码中创建了一个继承自Tk的类MyApp,其中初始化了窗口的标题、大小和图标,并创建了一个IntVar变量用于保存倒计时数。通过Label显示倒计时数,并通过Button触发倒计时的逻辑。当按钮被点击时,倒计时数减1,直到倒计时结束。\[1\] 引用\[2\]中的代码也是使用tkinter库实现的倒计时器。代码中创建了一个窗口,并定义了一个全局变量allSeconds用于保存倒计时的总秒数。通过Button触发倒计时的逻辑,每秒更新倒计时的显示。当倒计时结束时,弹出提示框显示倒计时结束的消息。\[2\] 如果你想要显示倒计时,可以使用上述代码中的任意一段。你可以根据自己的需求选择使用哪一段代码,并根据需要进行适当的修改。 #### 引用[.reference_title] - *1* *3* [python,根据tkinter计数器案例,写了个倒计时器](https://blog.csdn.net/qq_29061315/article/details/125400316)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [tkinter 实现倒计时(1小时)](https://blog.csdn.net/qq_52722885/article/details/128642899)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值