如何在QWebengine中从Javascript调用C++/Qt函数?

Cor*_*han 5 javascript c++ qt qtwebengine

我看过关于QWebChannel的Qt示例.

但它是一个C/S应用程序.顺便说一句,它在我的电脑上不起作用(OS X 10.10.5,Qt5.5).

我的所有HTML内容都来自本地磁盘.我不认为它需要套接字的东西.

new QWebChannel(navigator.qtWebChannelTransport, function(channel) {
    // all published objects are available in channel.objects under
    // the identifier set in their attached WebChannel.id property
    var foo = channel.objects.foo;
    // access a property
    alert(foo.hello);
    // connect to a signal
    foo.someSignal.connect(function(message) {
        alert("Got signal: " + message);
    });
    // invoke a method, and receive the return value asynchronously
    foo.someMethod("bar", function(ret) {
        alert("Got return value: " + ret);
    });
});
Run Code Online (Sandbox Code Playgroud)

没有

navigator.qtWebChannelTransport

这样的事情,JS停在那里.

我应该用第一个参数填写什么?


mil*_*anw 4

对于 QtWebEngine,您必须使用qt.webChannelTransport.