从Qt调用Javascript函数不显示输出
我试图使用从Qt调用Javascript函数不显示输出,javascript,c++,qt,qt5,Javascript,C++,Qt,Qt5,我试图使用addToJavaScriptWindowObjectmwthod从QT调用HTML文件中的Javascript函数。我在StackOverflow上遵循了这一点,并完全按照公认的答案做了 我的代码如下 main.cpp #include <QApplication> #include <QDebug> #include <QtWebKitWidgets/QWebFrame> #include <QtWebKitWidgets/QWebPage
addToJavaScriptWindowObject
mwthod从QT调用HTML文件中的Javascript函数。我在StackOverflow上遵循了这一点,并完全按照公认的答案做了
我的代码如下
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"
index.html
<html>
<body>
<script type="text/javascript">
myoperations.sumOfNumbers(12, 23);
</script>
</body>
我的手术。sumOfNumbers(12,23);
当我在QtCreator中运行上述QT项目时,它会正确编译,甚至运行。我看到新窗口打开了,但是输出,在本例中,12+23=35的总和没有显示在应用程序输出
窗口中。为什么会这样
为什么即使程序运行正常,我也无法查看输出?听起来您好像忘了启用调试输出。您确定是在调试模式下生成的吗?尝试添加一个qDebug()
<html>
<body>
<script type="text/javascript">
myoperations.sumOfNumbers(12, 23);
</script>
</body>