栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C/C++嵌入BS架构的页面

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C/C++嵌入BS架构的页面

        最近项目要用C/C++来嵌入BS的网页,经调研发现使用QT Creator工具有直接能用的组件。废话不多说直接上代码。

第一步:创建Qt Widgets项目并修改项目.pro文件添加如下一句

QT       += core gui webenginewidgets

第二步:在main.cpp代码里直接调用代码

#include "mainwindow.h"
#include 

#include 
#include 


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QWebEngineView *myWeb = new QWebEngineView();
    myWeb->setUrl(QUrl("https://www.baidu.com"));
    myWeb->show();

    return a.exec();

}

 第三步,直接运行代码即可。

注意: 如果BS架构里有打开新的页签操作上面的代码是无法打开页面的,解决方案是重载QWebEngineView里的createWindow函数,也就是要继承QWebEngineView,重载createWindow方法。代码转载自:QT5.12 webengineview鼠标左键点击打开链接_feinxer的博客-CSDN博客_qwebengineview 超链接

第一步,自定义mywebengine组件,添加headers组件自定义代码,mywebengine.h如下

#include 
#include 
#include 
#include 


class MyWebEngine: public QWebEngineView
{
    Q_OBJECT
public:
    MyWebEngine(QWidget *parent=nullptr);
protected:
    // 鼠标左键点击触发
    QWebEngineView * createWindow(QWebEnginePage::WebWindowType type) override;

private slots:
    void onUrlChanged(QUrl url);
};

第二步,在sources组件里添加实现方法,mywebengine.cpp如下

#include "mywebengine.h"


MyWebEngine::MyWebEngine(QWidget *parent):QWebEngineView(parent)
{
    connect(this, SIGNAL(urlChanged(QUrl)), this , SLOT(onUrlChanged(Url)));
}


QWebEngineView *MyWebEngine::createWindow(QWebEnginePage::WebWindowType type)
{
    Q_UNUSED(type)
    QWebEngineView * newview = new QWebEngineView(this);
    connect(newview, SIGNAL(urlChanged(QUrl)), this , SLOT(onUrlChanged(QUrl)));
    return newview;
}


void MyWebEngine::onUrlChanged(QUrl url) {
    setUrl(url);
}

第三步,直接在main.cpp方法里引用,代码如下:

#include "mainwindow.h"
#include "mywebengine.h"

#include 
#include 


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    MyWebEngine *myWeb = new MyWebEngine();
    myWeb->setUrl(QUrl("https://www.baidu.com"));
    myWeb->show();

    return a.exec();

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/861837.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号