我用头孢cefpython制作了一个简单的屏幕外渲染器。
我使用了cefpython.MessageLoop(),但是我想用browser.GetFocusedFrame().ExecuteFunction执行javascript函数,这个函数必须从主UI线程调用。
有办法在cefpython的消息循环上设置回调吗?
或者,我可以使用MessageLoopWork,但我不知道如何使用。我试图在一个单独的线程中调用它,但它不起作用:
import threading
def main_loop():
cefpython.MessageLoopWork()
threading.Timer(0.01, main_loop).start()
threading.Timer(0.01, main_loop).start()我得到以下错误:
[0324/174806:ERROR_REPORT:context.cc(146)] Check failed: false. called on invalid thread发布于 2015-03-24 17:22:41
使用cefpython.PostTask()函数在各个CEF线程上发布任务。见:[(无效)]([,args.]%29_(无效%29))和第61期。它可以从31.0版开始使用。
wxpython.py示例展示了如何在MessageLoopWork()和MessageLoop()中同时使用计时器。
https://stackoverflow.com/questions/29238431
复制相似问题