python widget.after执行顺序问题

问题在注释里

import tkinter as tk


def blink():
    global is_white
    if is_white:
        color = 'black'
    else:
        color = 'white'
    is_white = not is_white
    frame.config(bg=color)
    frame.after(500, blink)


is_white = True
window = tk.Tk()
frame = tk.Frame(window, width=200, height=100, bg='white')
frame.after(500, blink)#如果把这一条代码放在frame.pack()后执行,output是一样的,我想了解的是放在frame.pack()前和后有什么区别
frame.pack()

window.mainloop()

```

前后没什么关系,如果执行pack前用time.sleep暂停pack执行并且暂停时间大于after指定的间隔,那么执行pack后直接显示的是after修改后的frame颜色

哈?这有什么区别嘛?
他们两个都不是设置的同一种东西
after:https://www.pynote.net/archives/1713
pack:https://zhuanlan.zhihu.com/p/431052225
这两个又不相关,放前放后都行

pack方法是用来管理同在一个父组件下的所有组件的布局的,具体方法参考:
https://www.jianshu.com/p/3164c90f17bd

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632