Qt WebEngine无法启动

当在DLL中使用QWebEngineView打开网页时,遇到加载阻塞问题,即使进程已启动。解决办法是,在创建QApplication或QCoreApplication前添加Qt::AA_ShareOpenGLContexts属性,以确保WebEngineWidgets模块正确运行。
摘要由CSDN通过智能技术生成

标题比较含糊,具体现象是在dll中加入webenginewidgets模块,并通过QWebEngineView打开网页。然后在main函数中通过QLibrary的load方法加载该dll,但是load既不返回true也不返回false,从任务管理器可以看出main函数所在进程已经起来了,也就是说load方法阻塞了。

解决方法:如果要在dll或者plugin中使用webenginewidgets模块,必须在main函数QApplication或QCoreApplication创建之前添加Qt::AA_ShareOpenGLContexts属性。如下所示:

#include <QLibrary>
#include <QDebug>
#include <QApplication>
typedef void (*LoadFunction)();
#define DLLPATH "testui.dll"
#define DLLPORC "loadWnd"
int main(int argc, char *argv[])
{
    QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
    QApplication a(argc, argv);
    QLibrary testuilib(DLLPATH);

    if (testuilib.load())
    {
        LoadFu
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草上爬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值