我在使用 QWebChannel 从 JavaScript 访问对象时遇到了问题。我目前正在使用 Qt5.4.2。
这是我的 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
当我阅读...的文档时似乎是这种情况