Qt 5.9.6 QWebChannel register objects after already registered others in another context
Unsolved
QtWebEngine
-
At some I need to register some objects with qwebchannel and futher in the application I need to register a new object to the qwebchannel. The thing is that it show no error to this new object but when I try to call the c++ from this new object nothing happens.
I do something like:
Register two objects at the beggining:
this->mWebView->mViewChannel->registerObject("object1", this); this->mWebView->mViewChannel->registerObject("object2", this);
and
registerJsObject << R"(new QWebChannel(qt.webChannelTransport, function (channel) {)"; registerJsObject << R"window.object1 = channel.objects.object1"; registerJsObject << R"window.object2 = channel.objects.object2"; registerJsObject << R"(}))"; page->runJavaScript(registerJsObject.join("\n"));
And with this in the Js side I can call all the functions from js to cpp with these objects. But at some time I need to register a new object, like:
this->mWebView->mViewChannel->registerObject("dialog", dialog);
and then I need instantiate again the others objects:
registerJsObject << R"(new QWebChannel(qt.webChannelTransport, function (channel) {)"; registerJsObject << R"window.object1 = channel.objects.object1"; registerJsObject << R"window.object2 = channel.objects.object2"; registerJsObject << R"window.dialog = channel.objects.dialog"; registerJsObject << R"(}))"; page->runJavaScript(registerJsObject.join("\n"));
The problem is: I can use normally the old instantiated objects, but when I try to call the new object it doesn't fails but nothing happens on the Cpp side