共享(Q)C ++和QML之间的WebChannel

时间:2017-06-02 07:59:26

标签: javascript c++ qt qml

我想向JS公开一些C ++对象。到目前为止,我使用修饰符Q_OBJECT Q_POPERTY Q_INVOKABLE将对象正确地暴露给QML,依此类推。那部分工作正常。

当然,在C ++方面,我创建一个WebChannel并使用类似的东西公开一个对象:

QWebChannel *channel = new QWebChannel();
channel->registerObject("test", prueba);

另一方面,我有一个QML文件,我使用WebEngineViewWebChannel。我想知道如何在C ++和QML之间连接通道。

我见过许多例如this但我不知道如何将其与QML集成。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您不应该在QML和C ++中创建新的(Q)WebChannel。通过这种方式,您可以获得两个不同的渠道。

如果您想在QML中访问该频道,我建议您构建一个WebChannel,实际上是QQmlWebChannel并继承QWebChannel