【发布时间】:2020-03-03 11:36:54
【问题描述】:
我在我的项目中使用 wxpython 和线程。我认为我不太了解如何使用 wx.CallAfter 以及何时使用它。我读了一些东西,但我仍然没有明白这一点。谁能给我解释一下?
【问题讨论】:
标签: python python-3.x multithreading wxpython
我在我的项目中使用 wxpython 和线程。我认为我不太了解如何使用 wx.CallAfter 以及何时使用它。我读了一些东西,但我仍然没有明白这一点。谁能给我解释一下?
【问题讨论】:
标签: python python-3.x multithreading wxpython
简而言之,wx.CallAfter 简单地接受一个可调用对象和应该传递给它的参数,将其捆绑到一个自定义事件中,然后将该事件发布到应用程序的挂起事件队列中。当该事件被调度时,处理程序调用给定的可调用对象,并将给定的参数传递给它。
最初添加wx.CallAfter 是为了在处理当前事件和任何其他未决事件后轻松调用代码。由于事件总是在 UI 主线程中处理,那么事实证明 wx.CallAfter 也是一种方便且安全的方式,可以让工作线程使一些代码在 UI 线程中运行。
【讨论】: