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");
    }

  • 相关阅读:
    田忌赛马 题解
    亚历山大的丢番图方程 题解
    zhx's contest题解
    芝麻OI比赛T7edges题解
    CSP-J2020游记
    Linux shell 学习笔记(五)
    Linux shell 学习笔记(四)
    Linux shell 学习笔记(三)
    Linux shell 学习笔记(二)
    Oracle并发
  • 原文地址:https://www.cnblogs.com/zhangxuan/p/7576842.html
Copyright © 2011-2022 走看看