gpt4 book ai didi

python - 如何在cefpython中调用MessageLoopWork?

转载 作者:太空宇宙 更新时间:2023-11-04 05:52:58 26 4
gpt4 key购买 nike

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

最佳答案

使用 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() 一起使用。

关于python - 如何在cefpython中调用MessageLoopWork?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29238431/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com