QT 和 QwebKit 我可以加载 javascript 文件作为资源文件并使用它吗?

use*_*898 2 javascript qt embedded-resource qwebkit

我想知道我是否可以加载 Javascript 作为资源文件以在 QwebKit 中使用?好吧,它不一定是资源文件,我只是在寻找一种将 JS 文件嵌入到我的应用程序中的方法。

小智 5

是的你可以。我在我的应用程序中执行此操作。例如:

QWebFrame* frame = ui->webView->page()->mainFrame();
frame->evaluateJavaScript(readFile(":/scripts/foo.js"));
Run Code Online (Sandbox Code Playgroud)

其中 readFile 是将文件内容读取到字符串的函数。例如:

QString readFile (const QString& filename)
{
    QFile file(filename);
    if (file.open(QIODevice::ReadOnly | QIODevice::Text))
    {
        QTextStream stream(&file);
        return stream.readAll();
    }
    return "";
}
Run Code Online (Sandbox Code Playgroud)

由于文件名以:开头,因此它是从资源文件中读取的。显然,资源文件必须定义 /scripts/foo.js 。