gpt4 book ai didi

c++ - 为什么 QWebFrame::evalutateJavaScript 在这种情况下什么都不做?

转载 作者:行者123 更新时间:2023-11-28 08:32:06 26 4
gpt4 key购买 nike

我在我的代码中的一个地方调用 QWebFrame::evaluateJavaScript 但它没有任何效果。但是,如果我用 setTimer(0) 调用替换此调用,并且当此计时器超时时将调用原始函数,它会起作用。我怎么知道它是否有效?在我的案例中评估的 JavaScript 代码调用一个 JavaScript 函数,该函数反过来进行 AJAX 调用。此 AJAX 调用反过来使 QWebFrame 使用的 QNetworkAccessManager 创建并发送 QNetworkRequest。但是,当我直接从我的代码调用 QWebFrame::evalutateJavaScript 时,没有创建任何请求。这就是我说它在第一种情况下不起作用时的意思。

在调用 evaluateJavaScript 后,似乎有什么东西阻止了 QtWebKit 和//或 QNetworkAccessManager 执行它们的工作。我怀疑它与事件和主要 (gui) 事件循环有关。有什么想法吗?

最佳答案

鉴于您对使用 setTimer() 的评论,在正确的位置调用 qApp->processEvents() 可能会解决问题。

你能提供一些代码吗?我不确定你的意思:

This AJAX call in turn makes QNetworkAccessManager used by QWebFrame create and send a QNetworkRequest.

关于c++ - 为什么 QWebFrame::evalutateJavaScript 在这种情况下什么都不做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1493382/

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