Ubuntu20.04 QT无法用Qwebengine控件的解决方案(临时)

       最近在写无人机地面站程序,在WIN上面Qt导入百度地图Qwebengine啥的,问题倒是不大,用以前别人的就可以,但是最近做的内容需要用到Linux环境,所以只能把QT的内容移植过来。刚开始移植的时候我以为在Ubuntu安装完QT,就可以直接编译了,但是情况好像没有想象中的那么简单。之前我在WIN上用的是MSVC2017的编译器,但是到Ubuntu上就用不了了,刚好新的软件要从串口传输,改成TCP传输,索性从新开始写程序。。。(如果有哪位大哥懂得怎么移植qt程序的话,可以教教我,非常感谢,非常感谢)-------这个是一个开端。

        其他部分相对来说都是比较顺利的,但是把之前HTML文件的地图放入QT的时候遇到了问题,之前我都是直接先放入一个QWidget然后在ui里面直接提升为QWebengine,但是我的ui里面就是没有这个选项,找了好多人的资料安装完各种库都不行,直到遇到大佬:ubuntu环境下在Qt上调用百度地图_ubuntu连接百度api_拿到金像奖上课那家店的博客-CSDN博客

很及时的解决了这个问题~!!!

具体操作是这样的:

在pro文件里加入代码:

QT+=webenginewidgets webengine webchannel

 运行一下,看会不会报错,如果报错了就在就安装qtwebengine5相关的库

sudo apt install qtwebengine5-*
sudo apt install libqt5webengine5

(然后QT重新打开,再编译,如果还是不行的话,俺就不知道怎么办了,可以评论区互相指导一下)

接着在ui里面放入工具人--widget或者是frame

然后就只能用代码把qwebengine放进你的widget或者是frame里面了

在mainwindow.cpp里面记得

#include<QHBoxLayout>
#include<QWebEngineView>
#include<QStackedLayout>

然后

    //---------------地图--------------地图---------------地图-------------------
    QWebEngineView *webview=new QWebEngineView(this);
    QStackedLayout* layout = new QStackedLayout(this);//搞个布局
    ui->frame_map->setLayout(layout);//放到你ui的widget或者frame里
    layout->addWidget(webview);//在布局里加入QWebEngineView
    webview->load(QUrl("qrc:/resource/gaode.html"));
    //放入你的地图文件,这里也可以用www.baidu.com类似的网址,不一定是地图
    //下面就是交互内容了
    m_webchannel = new QWebChannel();
    m_webchannel->registerObject("mainwidget", this);
    webview->page()->setWebChannel(m_webchannel);

    //---------------地图--------------地图---------------地图-------------------

然后再运行一下,网页就会显示在你刚刚的ui放的框框里面啦!

------------------------------------------------------------------------------------------------------------------------------

也可以参考这个大佬:QWebEngine 初探 显示并跳转页面(QWebEngineView 二级页面 关闭程序时报错)_qtwebengine网页跳转报错_三头牛的博客-CSDN博客------------------------------------------------------------------------------------------------------------------------------

看到一个更牛的方法,直接把ui用文本打开,然后将你控件前面的

class="QWidget"

 改成

class="QWebEngineView"

就可以直接

 ui->map_try->load(QUrl("https:www.baidu.com"));
//map_try是你放入的Widget或frame控件

参考大佬:Ubuntu20.04下QT5.15.2配置QVTKOpenGLNativeWidget控件并在QT中显示VTK窗口_天上星斗的博客-CSDN博客

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值