MagicforestA 2022-08-17 13:41 采纳率: 100%
浏览 48
已结题

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()

```

  • 写回答

4条回答 默认 最新

  • CSDN专家-showbo 2022-08-17 14:15
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 8月25日
  • 已采纳回答 8月17日
  • 修改了问题 8月17日
  • 创建了问题 8月17日

悬赏问题

  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作