gpt4 book ai didi

javascript - 从 Javascript 代码调用 Qt 函数

转载 作者:太空宇宙 更新时间:2023-11-04 11:28:17 24 4
gpt4 key购买 nike

我有一个带有 Webview 的 Qt 项目,它正在加载一个 HTML 文件,该文件是 Javascript 文件。现在我想通过 JavaScript 在 Qt 端调用一个函数。

因此,具有以下 Qt 函数:

void MainWIndow::myFunction(angle)
{
qDebug() << angle;
}

我想从 JavaScript 端调用它:

function angleChanged(angle){
Qt.MainWIndow::myFunction(angle);
}

我该怎么做?

最佳答案

如果 Qt 是您的 JavaScriptWindowObject,您应该使用:

在后面的 Qt 代码中(MainWIndow 类):

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

关于javascript - 从 Javascript 代码调用 Qt 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25814026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com