QT开发中文网

能否去掉QWebEngineView::loadFinished这个条件,一直发

如果您想在不依赖于 QWebEngineView::loadFinished 的条件下一直进行页面加载检测,可以使用定时器或轮询的方式来实现。

  1. 使用定时器:
QTimer* timer = new QTimer(this);
QObject::connect(timer, &QTimer::timeout, [this]() {
    if (view.page()->isLoading()) {
        // 页面正在加载中
    } else {
        // 页面加载完成
        timer->stop();
    }
});
timer->start(1000); // 每隔1秒钟检查一次页面加载状态

上述代码会每隔1秒钟检查一次页面是否仍然在加载中。当页面加载完成后,停止定时器。

  1. 使用轮询:
while (view.page()->isLoading()) {
    QCoreApplication::processEvents();
}
// 页面加载完成

上述代码会在一个循环中不断检查页面是否正在加载中,通过调用 QCoreApplication::processEvents() 来处理事件队列,确保界面仍然响应用户操作。

需要注意的是,在使用定时器或轮询的方式进行页面加载检测时,要确保不会造成过多的资源消耗和性能问题。适当设置合理的时间间隔,并根据实际情况做出调整。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=8314

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?