wxpython线程textctrl消失,直到处理文件

时间:2013-08-11 19:04:26

标签: multithreading wxpython textctrl

下面提供了适当的代码。我有一次工作,但由于不得不改变其他一些代码而搞砸了。无法弄清楚我做了什么。 encrypt函数创建一个线程并调用EncryptProc函数来处理一个或多个文件。每个文件完成后,它应该将名称打印到textctrl。在代码当前状态中,它等待直到在打印之前处理所有线程/文件。然后它一次打印出evrything。在处理过程中,textctrl也完全消失。任何帮助将非常感激,因为它开始让我疯了,哈哈。

--- --- EDIT 代码已删除

1 个答案:

答案 0 :(得分:1)

在线程中不应该有GUI访问 - 在你的情况下,EncryptProc直接写入文本控件 - 你需要:

  1. 在线程中使用CallAfter在线程退出或
  2. 后更新文本控件
  3. 在包含文件名信息的线程中引发custom event事件 并在主线程中有一个更新文本控件的处理程序 收到活动时。