QT调用Js runJavaScript并且可得到返回的参数

在使用QT开发桌面应用程序时,经常需要与网页进行交互。其中一个常见的需求是在QT中调用网页中的JavaScript代码,并且能够获取到执行结果返回给QT。本文将介绍如何在QT中调用网页的JavaScript代码,并获得返回的参数。

1. 准备工作

在QT中,可以使用QWebEngineView来加载网页并执行JavaScript代码。首先需要在QT项目中包含相应的头文件:

#include <QWebEngineView>
#include <QWebEnginePage>
  • 1.
  • 2.

2. 调用JavaScript并获取返回值

在QT中,可以通过QWebEnginePage的runJavaScript方法来执行网页中的JavaScript代码,并且可以通过回调函数来获取执行结果。下面是一个简单的示例代码:

QWebEngineView *webView = new QWebEngineView();
webView->setUrl(QUrl("

webView->page()->runJavaScript("document.title", [](const QVariant &result){
    qDebug() << "The title of the webpage is:" << result.toString();
});
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

在上面的示例中,我们通过runJavaScript方法执行了一段JavaScript代码document.title,该代码用于获取网页的标题。在回调函数中,我们打印出了获取到的标题。

3. 完整示例

下面是一个完整的示例代码,演示了如何在QT中调用网页的JavaScript代码,并获取返回的参数:

#include <QApplication>
#include <QWebEngineView>
#include <QWebEnginePage>
#include <QDebug>

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    QWebEngineView *webView = new QWebEngineView();
    webView->setUrl(QUrl("

    webView->page()->runJavaScript("document.title", [](const QVariant &result){
        qDebug() << "The title of the webpage is:" << result.toString();
    });

    webView->show();

    return app.exec();
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.

4. 总结

通过使用QT的QWebEngineView和QWebEnginePage类,我们可以很方便地调用网页中的JavaScript代码,并获取返回的参数。这为QT桌面应用程序与网页的交互提供了很好的支持。希望本文对您有所帮助。

5. 参考

  • QT官方文档:
  • QT中文网:

表格示例:

| 姓名 | 年龄 | 性别 |
|------|------|------|
| 小明 | 18   ||
| 小红 | 20   ||

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
甘特图示例 2022-01-02 2022-01-09 2022-01-16 2022-01-23 2022-01-30 2022-02-06 2022-02-13 2022-02-20 任务1 任务2 任务1 任务2 甘特图示例

在QT开发中,调用网页的JavaScript代码是一项常见的需求。通过本文的介绍,您可以了解如何在QT中调用JavaScript并获取返回的参数。希望本文对您有所帮助,祝您在QT开发中取得成功!