从Javascript代码调用Qt函数
我有一个带有Webview的Qt项目,它正在加载一个HTML文件,该文件是Javascriptfiles。现在我想通过JavaScript在Qt端调用一个函数 因此,具有以下Qt功能:从Javascript代码调用Qt函数,javascript,c++,qt,Javascript,C++,Qt,我有一个带有Webview的Qt项目,它正在加载一个HTML文件,该文件是Javascriptfiles。现在我想通过JavaScript在Qt端调用一个函数 因此,具有以下Qt功能: void MainWIndow::myFunction(angle) { qDebug() << angle; } 如何执行此操作?如果Qt是您的JavaScriptWindowObject,您应该使用: 在Qt代码隐藏(main窗口class)中: MainWIndow.h文件: publ
void MainWIndow::myFunction(angle)
{
qDebug() << angle;
}
如何执行此操作?如果
Qt
是您的JavaScriptWindowObject
,您应该使用:
在Qt代码隐藏(main窗口
class)中:
MainWIndow.h
文件:
public slots:
void populateJavaScriptWindowObject();
void myFunction(int angle);
MainWIndow.cpp
文件:
//in constructor
connect(ui->webView->page()->mainFrame(), SIGNAL(javaScriptWindowObjectCleared()),
this, SLOT(populateJavaScriptWindowObject()));
//in populateJavaScriptWindowObject SLOT
void MainWindow::populateJavaScriptWindowObject()
{
QWebFrame *frame = ui->webView->page()->mainFrame();
frame->addToJavaScriptWindowObject("Qt", this);
}
在Javascript代码中:
function angleChanged(angle) {
Qt.myFunction(angle);
}
谢谢。如何使用
populateJavaScriptWindowObject()
中的addToJavaScriptWindowObject()
方法将QT转换为JavaScriptWindowObject。Thx将尽快尝试
function angleChanged(angle) {
Qt.myFunction(angle);
}