如何在cefpython中调用MessageLoopWork?

2024-09-30 14:20:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我用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()

我得到以下错误:

^{pr2}$

Tags: 函数browserloop屏幕mainjavascript线程start
1条回答
网友
1楼 · 发布于 2024-09-30 14:20:09

使用cefpython.PostTask()在不同的CEF线程上发布任务的函数。见:https://code.google.com/p/cefpython/wiki/cefpython#PostTask_(int_threadId,_object_func_[,args..])_(void)和第61期。从31.0版开始就可以使用了。在

在wxpython.py示例显示如何将计时器与MessageLoopWork()和MessageLoop()一起使用。在

相关问题 更多 >