当前位置: 首页 > news >正文

【QT】Qt4 QtWebKit使用教程

目录

      • 1、项目配置
        • 1.2 确保支持QtWebKit模块
        • 1.3 在.pro 文件中添加依赖
      • 2、显示网页
      • 3、实现Qt和网页JavaScript之间的交互
        • 3.1 Qt执行网页的JavaScript代码
        • 3.2 JavaScript调用Qt对象的函数


  QtWebKit 是一个用于在 Qt 应用程序中嵌入 web 内容的模块。然而,需要注意的是,从 Qt 5.6 开始,QtWebKit 已被弃用,取而代之的是 QtWebEngine。一般 Qt4 版本才会使用 QtWebKit 。

1、项目配置

1.2 确保支持QtWebKit模块

  确认你使用的 Qt 版本包含 QtWebKit。较新的 Qt 版本(如 Qt 5.6 及更高)默认不包含,你可能要么使用较旧的 Qt 版本要么自行安装QtWebKit模块。

1.3 在.pro 文件中添加依赖

  在你的 Qt 项目的 .pro 文件中添加 QT += webkit 来引入 QtWebKit 模块。

2、显示网页

  使用 QWebView 的 load 函数加载网页或html文件。如下所示:

#include <QApplication>
#include <QWebView>

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

    QWebView view;
    view.load(QUrl("http://www.example.com"));
    view.show();

    return a.exec();
}

  使用 QWebView 的 setHtml 函数可以直接加载显示 html 文本,一般用于简单显示 html 超文件。示例如下:

#include <QApplication>
#include <QWebView>

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

    // 创建QWebView对象
    QWebView webView;

    // 加载包含JavaScript代码的网页
    webView.setHtml("<html>"
                     "<body>"
                     "<div id='myDiv'>Hello, World!</div>"
                     "<script>function getDivText() { return document.getElementById('myDiv').innerHTML; }</script>"
                     "</body>"
                     "</html>");

    // 显示网页
    webView.show();

    return a.exec();
}

3、实现Qt和网页JavaScript之间的交互

3.1 Qt执行网页的JavaScript代码

  在 QtWebKit 中,QWebFrame 类是用于表示 QWebPage 中的一个框架,它提供了与网页内容交互的功能。QWebPage 可以通过 QWebView 的 page 函数获取。
  QWebFrame 的 evaluateJavaScript 函数是一个非常实用的方法,它的主要作用是在网页的 JavaScript 环境中执行一段 JavaScript 代码,并返回执行结果。函数原型如下:

/**
 * @brief 执行JavaScript代码
 * @param scriptSource 要执行的JavaScript代码
 * @return 该函数返回一个QVariant类型的对象,表示JavaScript代码执行后的返回值。如果JavaScript代码没有返回值,则返回一个无效的QVariant对象。
 */
QVariant QW

相关文章:

  • 数据结构与算法-双指针法
  • Java 大视界 -- 基于 Java 的大数据可视化在城市规划决策支持中的交互设计与应用案例(164)
  • 30-超市进销存管理系统
  • RAG 高效检索利器 打造企业 “规章制度智能体”(ollama + deepseek + langchain + MinerU)
  • 力扣经典算法篇-5-多数元素(哈希统计,排序,摩尔投票法)
  • CES Asia 2025:行业话语权的逐鹿高地
  • 如何利用系统的数据分析能力提高利润额?
  • websocket获取客服端真实ip
  • Linux | I.MX6ULL 终结者底板原理图讲解(5)
  • 最新万能场馆预约系统源码 基于ThinkPHP+UniApp 含图文搭建部署教程
  • Python+新版DeepSeek V3轻松开发Agent
  • Unity跨平台输入系统
  • Doris Streamloader安装教程
  • LeetCode 78.子集
  • 字符函数,日期函数笔记
  • QinQ-端口安全
  • 【54】结构体:结构体指针的内存与通信
  • Qt信号槽
  • 3D设计在UI中的应用:2025年的设计新潮流!
  • OpenMCU(五):STM32F103时钟树初始化分析
  • vps搭建vpn无法访问国内网站/十大广告公司
  • 西安网站搭建建设定制/谷歌商店官网下载
  • 郑州制作网站哪家好/腾讯云1元域名
  • dede网站管理系统演示/百度知道官网入口
  • 服务高端网站建设/怎么弄属于自己的网站
  • 电商网站建设技术交流问题/大连seo按天付费