收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
bridge = channel.objects.channelObject;
bridge.fromLocalToWebPage.connect(function (response) {
alert(“received message from local:”+response);
});
});
}
function fromWebToCpp(){
bridge.fromWebPageToLocal(“123456”);
}
<input id=“add” type=“button” value=“msFromWebToCpp” class=“button” οnclick=“fromWebToCpp();”/>
四、效果图,运行后点击网页端的按钮1,网页端会给本地传送2的123456,然后触发信号3,接着网页端会收到4显示的字符串fromLocalToWebPage
五、源代码,可以点击下载已经通过编译的代码:QtWebChannelDemon(包含已经编译通过的项目及测试html文件),也可以直接复制参考下面完整代码
1.QtWevChannelDemon.pro:
QT += core gui
QT +=webenginewidgets
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = QtWebChannelDemon
TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += \
main.cpp \
widget.cpp \
qwebchannelclass.cpp
HEADERS += \
widget.h \
qwebchannelclass.h
2.main.cpp:
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
3.widget.h:
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QWebEngineView>
#include <QHBoxLayout>
#include "qwebchannelclass.h"
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
void initWebChannel();
private:
QWebEngineView* m_pWebEngineView;
QHBoxLayout* m_pHBoxLayout;
QWebChannelClass* m_pWebChannelClass;
};
#endif // WIDGET_H
4.widget.cpp
#include “widget.h”
#include
#include
Widget::Widget(QWidget *parent) : QWidget(parent)
{
m_pHBoxLayout=new QHBoxLayout(this);
m_pWebChannelClass =new QWebChannelClass(this);
m_pHBoxLayout->setContentsMargins(0,0,0,0);
m_pWebEngineView=new QWebEngineView; //创建一个vebview
m_pHBoxLayout->addWidget(m_pWebEngineView);
initWebChannel();
m_pWebEngineView->load(QUrl(“file:///E:/sources/qt/QtWebChannelDemon/test.html”)); //在webview中加载网页
}
Widget::~Widget()
{
}
void Widget::initWebChannel()
{
QWebChannel *pChannel=new QWebChannel(this);
pChannel->registerObject(QStringLiteral(“channelObject”),m_pWebChannelClass);
m_pWebEngineView->page()->setWebChannel(pChannel);
}
5.qwebchannelclass.h
#ifndef QWEBCHANNELCLASS_H
#define QWEBCHANNELCLASS_H
#include <QObject>
class QWebChannelClass : public QObject
{
Q_OBJECT
public:
explicit QWebChannelClass(QObject *parent = nullptr);
signals:
void fromLocalToWebPage(const QString& strTemp);
public slots:
void fromWebPageToLocal(const QString& strTemp);
};
#endif // QWEBCHANNELCLASS_H
6.qwebchannelclass.cpp
#include "qwebchannelclass.h"
#include <QDebug>
QWebChannelClass::QWebChannelClass(QObject *parent) : QObject(parent)
{
}
void QWebChannelClass::fromWebPageToLocal(const QString& strTemp)
{
qDebug()<<QString("string from WebPage:%1").arg(strTemp);
emit fromLocalToWebPage("fromLocalToWebPage");
}
![img](https://img-blog.csdnimg.cn/img_convert/252ad24d768499238fbb767b78f6781f.png)
![img](https://img-blog.csdnimg.cn/img_convert/bd1a492c2b5d7a5beb6734fa401211f5.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**
有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**