I want to run a permanent JavaScript code that interacts with QWebEngineView in qt. In the code, we have registered the WebClass in the channel. But I'm looking for a way to register a permanent JavaScript code in the channel. and interact QWebEngineView html/javascript code with permanent JavaScript code.
is there any way for that?
class WebClass : public QObject
{
Q_OBJECT
Q_PROPERTY(QString someattribute MEMBER m_someattribute)
public slots:
void jscallme()
{
QMessageBox::information(NULL,"jscallme","I'm called by js!");
}
void setsomeattribute(QString attr)
{
m_someattribute=attr;
emit someattributeChanged(m_someattribute);
}
signals:
void someattributeChanged(QString & attr);
private:
QString m_someattribute;
};
int main(int argc, char *argv[])
{
QCoreApplication::setOrganizationName("MNC");
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication app(argc, argv);
QWebEngineView view;
auto *channel = new QWebChannel(&view);
WebClass webClass ;
channel->registerObject("webclass", webClass);
view.page()->setWebChannel(channel);
view.setUrl(QUrl(QStringLiteral("http://127.0.0.1:8000")));
view.resize(1024, 750);
view.show();
return app.exec();
}