首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在cefpython中调用MessageLoopWork?

如何在cefpython中调用MessageLoopWork?
EN

Stack Overflow用户
提问于 2015-03-24 16:50:15
回答 1查看 1.1K关注 0票数 2

我用头孢cefpython制作了一个简单的屏幕外渲染器。

我使用了cefpython.MessageLoop(),但是我想用browser.GetFocusedFrame().ExecuteFunction执行javascript函数,这个函数必须从主UI线程调用。

有办法在cefpython的消息循环上设置回调吗?

或者,我可以使用MessageLoopWork,但我不知道如何使用。我试图在一个单独的线程中调用它,但它不起作用:

代码语言:javascript
复制
import threading

def main_loop():
    cefpython.MessageLoopWork()
    threading.Timer(0.01, main_loop).start()

threading.Timer(0.01, main_loop).start()

我得到以下错误:

代码语言:javascript
复制
[0324/174806:ERROR_REPORT:context.cc(146)] Check failed: false. called on invalid thread
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-24 17:22:41

使用cefpython.PostTask()函数在各个CEF线程上发布任务。见:[(无效)]([,args.]%29_(无效%29))和第61期。它可以从31.0版开始使用。

wxpython.py示例展示了如何在MessageLoopWork()和MessageLoop()中同时使用计时器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29238431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档