免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1843 | 回复: 0
打印 上一主题 下一主题

如何实现GUI下的事件多路响应 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-31 22:09 |只看该作者 |倒序浏览

在GUI中进行多线程编程是一件很麻烦的事情,一直以来我都在寻找一个通用的方便的处理方法。在前一段时间中我曾经发表过关于长流程的处理,主要是在处理中插入一个对调度器的处理,而这个调度器使用了队列来实现子线程与主线程之间的数据通信。它的确可以解决一些问题,但并不是非常的方便。那么总结在
wxPython
中所提出的解决多线程问题的答案如下:
  • 不要在子线程中进行GUI的更新处理,所有的GUI的更新全部由GUI线程(主线程)来完成
  • 使用自定义事件来定义一个事件,然后就可以使用wxPostEvent来发送这个事件,这样会将这个事件放入主线程的事件循环中,从而使用事件得以安全的处理。
  • 使用线程安全的队列(Queue)来处理主线程与子线程的进程序通讯。
  • 再有wxPython提供了方便的wxCallAfter()方法来实现wxPostEvent的处理。



    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/34938/showart_268846.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP