QWebChannel:在 QtCreator 之外运行时构造崩溃
Posted
技术标签:
【中文标题】QWebChannel:在 QtCreator 之外运行时构造崩溃【英文标题】:QWebChannel: crash on construction when running outside of QtCreator 【发布时间】:2020-02-19 09:39:52 【问题描述】:当我尝试在 QtCreator 外部 运行我的程序时,当调用 new QWebChannel(this)
时,代码会崩溃。我已经检查了 DLL 依赖项,但找不到在 IDE 内部和外部运行它的区别。
MyView::MyView() : ui(new Ui::MyView)
ui->setupUi(this);
view = new QWebEngineView(this);
channel = new QWebChannel(this); // crash at this line
ui->content->addWidget(view);
connect(view, &QWebEngineView::loadFinished, this, &MyView::finishLoading);
view->page()->setWebChannel(channel);
channel->registerObject("controller", this);
view->load(QUrl("qrc:///res/index.html"));
在项目文件中我添加了QT += webengine webenginewidgets webchannel
。还有其他我可能忘记的依赖项吗?
【问题讨论】:
【参考方案1】:运行windeployqt.exe
会复制所有必要的依赖项(请参阅https://doc.qt.io/qt-5/windows-deployment.html)。像其他一些资源一样的接缝会导致崩溃。
【讨论】:
以上是关于QWebChannel:在 QtCreator 之外运行时构造崩溃的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Qt 中使用 QWebChannel 发送 QJsonObject
未捕获的 ReferenceError:未定义 QWebChannel
如何设置 QWebChannel JS API 以在 QWebEngineView 中使用?