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
窗口中。爲什麼?
即使程序運行正常,我爲什麼無法查看輸出?