擅长:python、mysql、java
<p>就cherrypy来说,你有消息来源。查看代码<code>quickloop()</code>的功能,然后尝试将此代码与WX的<code>MainLoop()</code>合并。在</p>
<p>两个循环可能如下所示:</p>
<pre><code>while (true) {
if (pendingEvents()) processEvents ();
else waitForEvents ();
}
</code></pre>
<p>您必须找到一种方法将两个等待的调用合并为一个(因此,如果任一事件源有挂起的事件,代码将继续)。对于WX,请查看<code>Dispatch()</code>、<code>Pending()</code>和{<cd5>}。在</p>
<p>或者您可以查看<code>wxIdleEvent</code>(请参见<a href="http://docs.wxwidgets.org/stable/wx_wxidleevent.html" rel="nofollow noreferrer">the docs</a>)并处理其中的所有cherrypy事件。在</p>
<p>另一种解决方案可能是在不同的线程中运行这两个循环。在这种情况下,不能从cherrypy代码调用WX方法,反之亦然。要解决这个问题,您必须找到一种方法将消息发送到另一个线程,其中包含要调用哪个方法的所有信息。这确保WX方法在WX线程中执行,cherrypy方法在cherrypy线程中执行。在</p>