2014-01-29 23 views
0

我想從QT使用addToJavaScriptWindowObject mwthod在我的HTML文件中調用JavaScript函數。我在StackOverflow上跟着這個post,並且完全按照接受的答案。從Qt調用Javascript函數不顯示輸出

我的代碼如下

的main.cpp

#include <QApplication> 
#include <QDebug> 
#include <QtWebKitWidgets/QWebFrame> 
#include <QtWebKitWidgets/QWebPage> 
#include <QtWebKitWidgets/QWebView> 

class MyJavaScriptOperations : public QObject { 
Q_OBJECT 
public: 
    Q_INVOKABLE void sumOfNumbers(int a, int b) { 
     qDebug() << a + b; 
    } 
}; 

int main(int argc, char *argv[]) 
{ 
    QApplication a(argc, argv); 
    QWebView *view = new QWebView(); 
    view->resize(400, 500); 
    view->page()->mainFrame()->addToJavaScriptWindowObject("myoperations", new MyJavaScriptOperations); 
    view->load(QUrl("file://C:/programs/index.html")); 
    view->show(); 
    return a.exec(); 
} 

    #include "main.moc" 

.pro文件

QT  += core 

QT  += gui 

QT  += webkit 
QT  += webkit webkitwidgets 

TARGET = QtJsonPostExample 
CONFIG += console 
CONFIG -= app_bundle 

TEMPLATE = app 

SOURCES += main.cpp 

OTHER_FILES += \ 
../../../../programs/index.html 

的index.html

<html> 
<body> 
    <script type="text/javascript"> 
     myoperations.sumOfNumbers(12, 23); 
    </script> 
</body> 

當我在Qt創建器中運行上述QT項目時,它編譯正確,甚至運行。我看到新窗口打開,但輸出,在這種情況下,總和12 + 23 = 35不顯示在Application Output窗口中。爲什麼?

即使程序運行正常,我爲什麼無法查看輸出?

回答

1

這聽起來像你忘了啓用調試輸出。你確定你建立在調試模式?嘗試添加一個qDebug()< <「測試」;到你的主要功能來檢查。

相關問題