柴_笔记 2024-10-21 15:11 采纳率: 15.4%
浏览 25
已结题

QWebEngineView

QWebEngineView加载网页时:通过runJavaScript运行脚本将网页中的按钮ID回传到Qt;

  • 写回答

27条回答 默认 最新

  • 专家-司宇[在线] 2024-10-21 15:12
    关注

    以下回复引自免费微信小程序:皆我百晓生。 如问题解决,还请采纳。如仍有疑问,请回复留言或私信博主,以便获得更精准的帮助。

    在QWEBENGINEVIEW中加载网页时,可以使用RUNJAVASCRIPT方法将网页中的按钮ID回传到QT。这是实现这一功能的关键步骤。

    1. 首先,在需要加载的页面中引入所需的库和模块。例如:
    #INCLUDE "QWEBENGINEVIEW.H"
    
    1. 创建一个QWEBENGINEVIEW实例并设置其属性,比如M_PWEBVIEWM_PSCRIPTRUNNER等。这一步确保了在加载过程中始终有一个有效的WEB资源。

    2. RUNJAVASCRIPT方法中,你可以根据你的需求编写JAVASCRIPT代码来处理网络请求或执行其他操作。例如:

    VOID QWEBENGINEVIEW::RUNJAVASCRIPT() {
        // 这里是你想要执行的JAVASCRIPT代码
        QWARNING("RUNNING JAVASCRIPT...");
    }
    
    1. 当你需要从QWEBENGINEVIEW获取数据时,首先需要获取当前的WEB资源。这可以通过M_PSCRIPTRUNNER或者M_PWEBVIEW来完成。然后你可以调用RUNJAVASCRIPT()方法,并提供你所需要的参数。

    2. 调用RUNJAVASCRIPT()方法后,它会返回一个新的QSCRIPTVALUE对象,你可以将其转换为一个可操作的对象。这里可能涉及到一些类型转换(如字符串转整数),但通常情况下,这些转换都是简单的值比较。

    3. 最后,你可以根据你的需求修改QSCRIPTVALUE对象的行为,例如添加事件监听器、改变状态等等。

    4. 一旦QSCRIPTVALUE对象被修改,你就成功地将网页中的按钮ID回传到了QT。

    这样,当你在加载网页时调用RUNJAVASCRIPT方法时,它就会返回一个包含你所需信息的对象,从而实现了页面加载时的数据回传。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月24日
  • 赞助了问题酬金15元 10月22日
  • 创建了问题 10月21日