如何在QWebEngine中显示下载进度

How to show download progress in QWebEngine?

本文关键字:下载 显示 QWebEngine      更新时间:2023-10-16

在QWebKit中,我有这样的代码:

QWebFrame * MainWindow::getQWebFrame(QString name) {
    if (getView() && getView()->page() && getView()->page()->mainFrame()) {
        QWebFrame * frameImLookingFor = getView()->page()->mainFrame();
            if (frameImLookingFor->frameName() == name)
                return frameImLookingFor;
        foreach(QWebFrame * frame, getView()->page()->mainFrame()->childFrames())
        {
            frameImLookingFor = frame;  at all
            if (frame->frameName() == name)
            {
                frameImLookingFor = frame;
                return frame;
            }
        }
        return frameImLookingFor;
    }
    return NULL;
}

QWebEngine:

QWebEnginePage * MainWindow::getQWebFrame(QString name) {
    if (getView()) {
        QWebEnginePage *frameImLookingFor = getView()->page();
        if (frameImLookingFor->objectName() == name)
            return frameImLookingFor;
        foreach(const QWebEnginePage * frame, getView()->page())
        {
            frameImLookingFor = frame;
            if (frame->objectName() == name)
            {
                frameImLookingFor = frame;
                return frame;
            }
        }
        return frameImLookingFor;
    }
        return NULL;
}

遗憾的是它不起作用。它显示了foreach的许多错误。例如"'i':不是'QForeachContainer"的成员。是否有重写这段代码的方法,使它能像以前那样工作?

QWebEngine不允许从c++迭代子帧。如果你想迭代它们,你必须运行一些javascript。

你需要这些子框架做什么?