gpt4 book ai didi

c++ - QT:暂停功能流程直到QWebView SIGNAL完成

转载 作者:行者123 更新时间:2023-11-30 03:09:36 25 4
gpt4 key购买 nike

我主要是网络开发人员,所以我的问题可能是初学者。

我正在编写一个与 QWebView 内容一起使用的函数,这是一种在加载的网页上执行操作的宏脚本。

代码是这样的:

somefunction() {

QWebView *webView;
webView->load(QUrl("http://www.google.com"));
<...> here I want to pause the code until the page is loaded <...>
here goes the code of html manipulation, click on another link
<...> here I want to pause the code until the page is loaded <...>

}

好的,所以在我写“<...> here I want to pause the code until the page is loaded <...>”的地方我不知道该怎么做才能暂停函数并让它等待页面完成加载。我知道信号和槽。但如果我在这里使用插槽,我将不得不在另一个函数中继续 - 在 SLOT 函数中,但我想将所有代码和逻辑留在 somefunction() 中。如何做到这一点?

最佳答案

您可以使用嵌套的QEventLoop 来同步页面加载等异步处理。当发出 loadFinished 时,只需 exit() 循环即可从您进入循环的位置恢复执行。

另一方面,将处理拆分为多个函数(槽)也不是那么糟糕。代码和逻辑仍然在同一个类中的同一个地方。

关于c++ - QT:暂停功能流程直到QWebView SIGNAL完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3986446/

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