擅长:python、mysql、java
<p>大多数wx方法不是线程安全的。使用wx.CallAfter公司如果要从另一个线程调用wx方法,请替换</p>
<pre><code>ObjectName.SetLabel(Message)
</code></pre>
<p>有:</p>
^{pr2}$
<p><strong>编辑:一些背景信息</strong></p>
<p>在wx(和大多数其他UI平台)中,所有UI更新都在一个名为main thread(或UI thread)的线程中执行。这是为了避免线程同步对性能的影响,从而使UI更快地工作。在</p>
<p>但缺点是,如果我们编写代码从另一个线程更新UI,结果是未定义的。有时可能会发生,有时可能会发生其他事情。所以我们应该总是转到UI线程来做UI更新。所以我们使用CallAfter函数使UI update函数在UI线程中执行。在</p>
<p><a href="https://en.wikipedia.org/wiki/Event_dispatching_thread" rel="nofollow">UI thread in java</a></p>
<p><a href="http://www.codeproject.com/Articles/10311/What-s-up-with-BeginInvoke" rel="nofollow">UI thread in C#</a></p>