【问题标题】:Why does a simple method trigger a main loop message and then block?为什么一个简单的方法会触发一个主循环消息然后阻塞?
【发布时间】:2012-05-11 16:38:32
【问题描述】:

Here 有人告诉我关于 wxPython 和其他 GUI 工具包的一些我无法理解的事情。

当我从“静态文本”控件调用 GetLabel 时,会出现一个事件入队并且 GetLabel 在主循环处理此事件之前不会返回。

为什么要为这样一个简单的任务排队?

为什么方法不立即返回,而是阻塞直到消息被处理?

【问题讨论】:

    标签: user-interface loops wxpython return gui-toolkit


    【解决方案1】:

    我认为 GetLabel 不会触发事件。您在另一个问题中遇到的问题是您正在使用线程来尝试操作 GUI 并从中获取信息。您的线程阻塞了 GUI 的主线程。如果您在 GUI 代码中(例如在按钮的事件处理程序中)调用 GetLabel(),它将立即生效。

    【讨论】:

      猜你喜欢
      • 2017-03-17
      • 2016-04-21
      • 2019-02-18
      • 1970-01-01
      • 2020-05-10
      • 1970-01-01
      • 2016-05-24
      相关资源
      最近更新 更多