tkinter的after函数的使用方法

1,模块tkinter里面没有aften函数,aften是部分类的类方法。

import tkinter

l = dir(tkinter)
for s in l:
    if 'after' in eval("dir(tkinter.%s)"%s):
        print(s, end=" ")

我用代码列出了tkinter所有有aften方法的类

BaseWidget Button Canvas Checkbutton Entry Frame Label 
LabelFrame Listbox Menu Menubutton Message Misc OptionMenu
PanedWindow Radiobutton Scale Scrollbar Spinbox Text
Tk Toplevel Widget

大概是全部都有吧。。。。

2,aften   、  aften_cancel  和after_idle

帮助文档

after(self, ms, func=None, *args)

在给定时间后调用函数一次。
MS以毫秒为单位指定时间。函数给出了
要调用的函数。额外的参数
作为函数调用的参数。返回
使用after_cancel取消调度的标识符。

aften是有返回值的!!!

Tk类提供的after方法不是循环的计时器,

它相当于不会堵塞进程的sleep

需要循环计时的话,就再在函数里面再次aften

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注