zoukankan      html  css  js  c++  java
  • Qt调用JS(二)

    转自:http://www.cnblogs.com/verstin/p/4908673.html

    <html>

    <script language="JavaScript">

    function qtcalljs()
    {

    alert("sdfsd");
    }


    function jscallqt()
    {
    mainWindow.dosome();
    }

    </script>


    <body>

    <button onclick="jscallqt()" style=="height:20px;100px"/>


    </body>
    </html>

    --------------

    #ifndef QTTT_H
    #define QTTT_H

    #include <QtGui/QMainWindow>
    #include <QWebKitPlatformPlugin>
    #include <QWebFrame>
    #include <QMessageBox>
    #include <QObject>
    #include "ui_qttt.h"

    class qttt : public QMainWindow
    {
    Q_OBJECT

    public:
    qttt(QWidget *parent = 0, Qt::WFlags flags = 0);
    ~qttt();

    private:
    Ui::qtttClass ui;

    private slots:
    void pop();
    void addMyObjectToJavascript();
    public:
    Q_INVOKABLE void dosome();
    };

    #endif // QTTT_H

    --------------------------------------------

    #include "qttt.h"

    qttt::qttt(QWidget *parent, Qt::WFlags flags)
    : QMainWindow(parent, flags)
    {
    ui.setupUi(this);

    ui.webView->load(QUrl("test.html"));
    connect(ui.pushButton,SIGNAL(clicked()),this,SLOT(pop()));
    connect(ui.webView->page()->mainFrame(), SIGNAL(javaScriptWindowObjectCleared()), this, SLOT(addMyObjectToJavascript()));


    }

    qttt::~qttt()
    {

    }

    void qttt::pop()
    {

    ui.webView->page()->mainFrame()->evaluateJavaScript("qtcalljs();");
    }

    void qttt::addMyObjectToJavascript()
    {
    ui.webView->page()->mainFrame()->addToJavaScriptWindowObject("mainWindow", this);
    }

    void qttt::dosome()
    {
    QMessageBox::aboutQt(this,"sdfsa");
    }

  • 相关阅读:
    连通块问题
    线性数据结构
    NOIP2018总结
    原码反码补码详解
    一些常用的算法技巧总结
    骗分导论
    模板
    模板
    AcWing
    AcWing
  • 原文地址:https://www.cnblogs.com/zhangxuan/p/7576842.html
Copyright © 2011-2022 走看看