有没有办法通过 Qt WebChannel 使用同步函数调用?

Posted

技术标签:

【中文标题】有没有办法通过 Qt WebChannel 使用同步函数调用?【英文标题】:Is there any way to use synchronous function call through Qt WebChannel? 【发布时间】:2015-11-05 04:39:12 【问题描述】:

Qt WebKit Bridge 不同,我找不到使用Qt WebChannelJS side 使用同步函数调用。

有什么办法吗?

【问题讨论】:

我也寻找过这种可能性,但没有找到任何合理的方法,但使用带有事件循环的方案,可能有超时(就像讨论的方案here。我最终使用了 JS 调用异步。 【参考方案1】:

我认为没有办法做到这一点。文档中说:QWebChannel

请注意,html 客户端和 QML/C++ 之间的所有通信 服务器是异步的。

另外,这篇博文中准确的说:Bridge the gap between C++/QML and the web

但是,与WebKit Bridge相反,WebChannel提供的API 完全异步。

希望对您有所帮助。

【讨论】:

以上是关于有没有办法通过 Qt WebChannel 使用同步函数调用?的主要内容,如果未能解决你的问题,请参考以下文章

QML 中基于 WebSockets 的 Qt WebView 和 WebChannel

在最新Qt5.4,使用QWebengine,如何js调用Qt

有没有办法区分 Qt 小部件是通过鼠标单击还是从表格按键获得焦点?

React Native to firestore:Firestore(8.2.1):连接WebChannel传输错误

如何注册一个类以在 Qt 的 QWebChannel 信号中使用它

Web页面嵌入到Qt注意事项