wxpython下载进度条滞后

时间:2014-01-29 20:08:18

标签: wxpython multiprocessing

Here是wx中urlretrieve下载进度条的代码。我在不同的过程中进行下载工作。它有效,但有点迟钝和反应迟钝。因为我无法自由移动窗户。可能是什么问题?

1 个答案:

答案 0 :(得分:2)

我猜这是因为你在说这个:

self.dloader.parent_conn.recv()

这可能是一个长时间运行的进程,因此它会阻止wxPython的主循环,这会使UI无响应。典型的解决方法是从进程或线程将消息发送回UI,告知其更新。您可能需要使用wxPython的一个线程安全方法才能安全:

  • wx.CallAfter
  • wx.CallLater
  • wx.PostEvent

关于这个主题的规范性文章可以在wxPython wiki中找到:

还有一个关于MultiProcessing的维基页面,您可能会觉得有用: