Tkinter是Python原生的GUI包,但是使用的过程中我发现了一个状况,是这样的:

  首先肯定有一个顶级的容器即root = tkinter.Tk(),但是在触发一个事件的过程中比如触发了Button的command,可能会修改其他组件的属性(Entry,Canvas等)。但是处理Button触发事件的过程中其他组件的属性貌似没有被实时更新,直到Button事件完全处理完才会进行一次更新。查阅资料后我发现一个方法能够使得根容器得到强制更新:

  很简单:root.update()

  比如我设置点击按钮后立即清除画布上所有的东西,但是随后我立刻用一个操作阻塞住。这样的话虽然画布已经被清除,但是root还没有被更新,此时我们使用root.update()就可以看到画布被清除,之后再使用阻塞操作,行为就都合理了~

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-22
  • 2022-02-08
  • 2021-11-30
  • 2021-06-13
猜你喜欢
  • 2022-01-25
  • 2021-07-18
  • 2021-11-22
  • 2021-04-18
  • 2021-07-15
  • 2022-01-23
  • 2022-01-29
相关资源
相似解决方案