У меня возникла проблема с использованием QWebChannel для доступа к объекту из JavaScript. В настоящее время я использую Qt5.4.2.qt.webChannelTransport undefined в QWebEngineView
Вот мой CPP код:
myObject::myObject(QWidget *parent)
: QMainWindow(parent)
{
QWebEngineView* m_pView = new QWebEngineView(this);
QWebChannel channel;
channel.registerObject(QString("myObject"), this);
m_pView->load(QUrl("file:///D:/index.html"));
setCentralWidget(m_pView);
}
В моей index.html, я в том числе qwebchannel.js
:
<script type="text/javascript" src="qrc:///qtwebchannel/qwebchannel.js"></script>
И в моем файле JavaScript, я пытаюсь получить свой объект как это:
new QWebChannel(qt.webChannelTransport, function(channel) {
var myObject = channel.objects.myObject;
});
Однако, я получить следующее сообщение об ошибке в консоли:
Error: qt is not defined
Я также попытался заменить его navigator.qtWebChannelTransport
, но я получил:
Error: transport is not defined
Может кто-нибудь сказать мне, что я сделал не так? Благодарю.
Редактировать: Доступен ли qt.webChannelTransport только с Qt5.5? Кажется, что когда я прочитал документ QWebEnginePage::setWebChannel
...
Это не очень хороший ответ. Добавьте дополнительную информацию или пример. Это скорее комментарий. –