qt5.12.12源码

时间: 2023-07-04 21:02:07 浏览: 38
### 回答1: Qt是一个跨平台的应用开发框架,用于开发图形用户界面(GUI)和非GUI程序。Qt5.12.12源码是Qt framework的源代码的一个版本。 Qt5.12.12源码包括开发Qt框架所需的所有源代码文件。这些源代码由C++语言编写,并通过版本控制工具进行管理。Qt源码包括许多模块和子模块,用于构建各种应用程序。 Qt5.12.12源码的架构是模块化的,每个模块负责不同的功能。一些常见的模块包括GUI模块、网络模块、数据库模块、音频模块等。每个模块会有自己的源代码文件和头文件。开发者可以根据自己的需求选择性地使用这些模块,以便构建个性化的应用程序。 使用Qt5.12.12源码进行开发,开发者可以深入了解Qt框架的内部实现,并根据需要进行定制和调整。通过查看源码,可以了解Qt框架的基本架构和设计思想,进而更加灵活地使用框架的功能。 Qt5.12.12源码的使用需要开发者具备一定的C++编程知识和经验。对于初学者来说,可以通过阅读官方的文档和示例代码来学习和理解Qt框架的使用方法。 总而言之,Qt5.12.12源码是Qt框架的源代码版本,可以用于深入了解和使用Qt框架来开发跨平台的应用程序。希望我的回答对您有所帮助! ### 回答2: Qt 5.12.12是Qt开发框架的一个版本。Qt是一种跨平台的C++应用程序开发框架,它提供了丰富的库和工具,使开发者能够轻松地创建高质量的应用程序。 Qt 5.12.12源码指的是这个特定版本的Qt框架的源代码。源代码是编写应用程序的基础,它包含了构建Qt库和工具的所有代码。通过查看源代码,开发者可以了解Qt的内部实现细节、框架的设计思想以及各种功能和特性是如何实现的。 Qt 5.12.12源码是开源的,任何人都可以从官方网站上下载并查看。使用源代码,开发者可以自定义和调整Qt框架,以满足特定的应用需求。他们可以添加新的功能,优化性能,修复bug,或者对框架进行任何其他改进。 要使用Qt 5.12.12源码,开发者首先需要下载并安装Qt开发环境。然后,他们可以将源代码导入到他们喜欢的集成开发环境(IDE)中,并开始阅读和修改源代码。 Qt 5.12.12源码是一个庞大且复杂的代码库,开发者应该有一定的C++编程经验才能更好地理解和利用它。同时,Qt官方也提供了详细的文档和教程,帮助开发者使用和定制Qt框架。 总而言之,Qt 5.12.12源码是构建Qt框架和开发应用程序的基础,通过研究源码,开发者可以深入了解和定制Qt框架,以满足自己的需求。 ### 回答3: Qt 5.12.12是一个开源的跨平台应用程序框架,它提供了丰富的功能和工具来开发高质量的应用程序。Qt的源码是可获取的,您可以通过官方网站或代码托管平台(如GitHub)下载。 Qt 5.12.12源码包含了Qt框架的全部代码,涵盖了核心模块、图形引擎、多媒体、网络、GUI、数据库、工具和附加功能等。通过查看源码,您可以了解Qt是如何实现不同模块和功能的,从而更好地理解框架的工作原理。 Qt的源码结构清晰且易于理解,可以帮助开发者深入掌握框架,并进行定制化开发。您可以根据需要,自定义或优化特定的功能,甚至进行框架的扩展。通过研究源码,您还可以学习到一些最佳实践和设计模式,从而提高自己的编程技能。 了解Qt的源码还可帮助您解决一些问题,如遇到Bug或性能问题时,可以通过查找源码定位问题所在,并进行修复或优化。此外,Qt的源码还提供了丰富的文档和示例代码,可用于参考和学习。 需要注意的是,Qt的源码非常庞大,下载和编译时间可能较长,因此您需要有一定的计算机和编程经验。此外,Qt的源码是通过GNU Lesser General Public License (LGPL) 授权的,因此在使用源码时需要遵守相关条款和条件。 总而言之,Qt 5.12.12源码是一个非常宝贵的资源,可以帮助开发者更好地理解和使用Qt框架,从而开发出高质量的跨平台应用程序。

相关推荐

编译 Qt 5.12.12 源码需要一些准备工作,包括安装必要的依赖项、下载源代码等。以下是编译 Qt 5.12.12 源码的基本步骤: 1. 安装必要的依赖项 在 Ubuntu Linux 系统中,可以使用以下命令安装必要的依赖项: sudo apt-get update sudo apt-get install build-essential perl python git sudo apt-get install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libfontconfig1-dev libcap-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss-dev libegl1-mesa-dev gperf bison 在 Windows 系统中,需要安装 Visual Studio、Python、Git 和 Perl 等软件,并设置好环境变量。具体安装步骤可以参考 Qt 官方文档。 2. 下载 Qt 5.12.12 源代码 可以在 Qt 官网下载 Qt 5.12.12 的源代码,也可以使用 Git 命令行工具从 GitHub 上下载源代码: git clone git://code.qt.io/qt/qt5.git -b 5.12.12 3. 配置编译参数 进入 Qt 源代码目录,执行以下命令配置编译参数: ./configure -prefix /usr/local/qt512 \ -opensource \ -confirm-license \ -release \ -shared \ -no-pch \ -no-icu \ -no-cups \ -no-harfbuzz \ -no-fontconfig \ -no-glib \ -no-gtk \ -no-kms \ -no-directfb \ -no-mirclient \ -no-xcb \ -no-xinput2 \ -no-xcb-xlib \ -no-xkbcommon-x11 \ -no-eglfs \ -no-gbm \ -no-linuxfb \ -no-mtdev \ -no-evdev \ -no-libudev \ -no-system-proxies \ -no-gstreamer \ -no-vulkan \ -no-opengl \ -no-openvg \ -no-gif \ -no-jasper \ -no-libjpeg \ -no-libpng \ -no-libwebp \ -no-tiff \ -no-sql-mysql \ -no-sql-psql \ -no-sql-sqlite \ -no-sql-odbc \ -no-sql-ibase \ -no-sql-tds \ -no-openssl \ -no-compile-examples \ -no-qt3d \ -no-qtactiveqt \ -no-qtcanvas3d \ -no-qtdatavis3d \ -no-qtgamepad \ -no-qtlocation \ -no-qtpurchasing \ -no-qtwebglplugin \ -no-qtwebengine \ -no-qtwebview \ -no-qtserialbus \ -no-qtserialport \ -no-qttools \ -no-qtwayland \ -no-qtwebsockets \ -no-qtwebchannel \ -no-qtwebview \ -no-qtremoteobjects \ -no-qtscript \ -no-qtscxml \ -no-qtsensors \ -no-qtspeech \ -no-qtvirtualkeyboard \ -no-qtxmlpatterns \ -no-qml-debug \ -no-qml-debugger \ -no-qml-import \ -no-qml-debugger \ -no-qmltestrunner \ -no-quick \ -no-quickcontrols \ -no-quickcontrols2 \ -no-webkit \ -no-widgets \ -no-accessibility \ -no-qt-ltcg \ -no-dbus \ -no-system-freetype \ -no-iconv \ -no-pcre \ -no-feature-bearermanagement 上述配置参数中,包含了几乎所有的 Qt 模块和依赖项,但都设置为不编译。如果需要编译某个模块,可以将其对应的 -no-xxx 参数改为 -xxx。 4. 编译源代码 执行以下命令编译 Qt 源代码: make -j4 其中 -j4 参数表示使用 4 个并行编译任务,可以根据机器的 CPU 核心数自行调整。 5. 安装 Qt 执行以下命令将 Qt 安装到指定目录: sudo make install 安装完成后,可以使用 /usr/local/qt512/bin/qmake 命令来验证 Qt 是否安装成功。 以上是基本的 Qt 5.12.12 源码编译步骤。如果需要编译某个 QML 模块或 LOCATION 模块,可以在配置编译参数时开启对应的模块,具体方法可以参考 Qt 官方文档。
根据引用\[1\]和引用\[3\]的内容,您可以在Qt官方网站的下载页面找到Qt5.12.7的源码包。您可以通过访问https://download.qt.io/archive/qt/5.12/5.12.7/single/来获取该版本的源码包。请注意,解压源码包可能需要一些时间,请耐心等待。 #### 引用[.reference_title] - *1* [麒麟系统开发笔记(三):从Qt源码编译安装之编译安装Qt5.12](https://blog.csdn.net/qq21497936/article/details/123943894)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [统信UOS系统开发笔记(三):从Qt源码编译安装之编译安装Qt5.12.8](https://blog.csdn.net/qq21497936/article/details/131045662)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [移植Qt5.12.9](https://blog.csdn.net/lengyuefeng212/article/details/119788081)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
以下是一段使用Qt5.12.12绘制播放音乐动态直方图的源代码: cpp #include <QtWidgets> class MusicWidget : public QWidget { public: MusicWidget(QWidget *parent = nullptr) : QWidget(parent) { setFixedSize(400, 300); } void setAudioData(const QVector<double> &data) { audioData = data; update(); } protected: void paintEvent(QPaintEvent *event) override { Q_UNUSED(event); QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing); int columnWidth = width() / audioData.size(); // 绘制直方图 for (int i = 0; i < audioData.size(); ++i) { int columnHeight = height() * audioData[i]; QPoint topLeft(i * columnWidth, height() - columnHeight); QColor columnColor(Qt::red); columnColor.setAlphaF(0.5); painter.setBrush(columnColor); painter.drawRect(QRect(topLeft, QSize(columnWidth, columnHeight))); } } private: QVector<double> audioData; }; int main(int argc, char *argv[]) { QApplication app(argc, argv); // 生成随机音频数据 QVector<double> audioData; for (int i = 0; i < 100; ++i) { double value = qrand() / static_cast<double>(RAND_MAX); audioData.append(value); } MusicWidget musicWidget; musicWidget.setAudioData(audioData); musicWidget.show(); return app.exec(); } 这段代码创建了一个名为MusicWidget的QWidget子类,用于绘制动态直方图。在构造函数中,设置了窗口的固定大小。setAudioData函数用于设置音频数据,当音频数据改变时,调用update函数触发重新绘制。 在paintEvent函数中,通过QPainter类进行绘制操作。首先,设置了绘制抗锯齿效果。然后,根据音频数据的大小,计算出每个直方图列的宽度。接着,使用循环遍历音频数据并绘制每个直方图列。绘制使用了Qt引擎中的QPainter类的drawRect函数,根据数据值计算出直方图的高度,并设定矩形的位置和尺寸。绘制完成后,显示窗口。 在main函数中,首先生成了一个随机音频数据,然后创建MusicWidget对象,并将音频数据设置到该对象中,最后显示窗口并启动应用程序的事件循环。
### 回答1: 首先,需要明确的是,树莓派4B是基于ARM架构的单板计算机,而Qt是一个跨平台的应用程序框架,支持多种操作系统和硬件平台。交叉编译是指在一台主机上编译适用于另一种不同的平台的程序。 要在树莓派4B上交叉编译Qt 5.12.9并支持OpenGL,需要按照以下步骤进行: 1. 准备交叉编译环境: - 在主机上安装交叉编译工具链,该工具链应该是针对ARM架构的。你可以在树莓派官网上找到相应的工具链。 - 下载Qt 5.12.9源代码并解压到主机上。可以从Qt官网下载源代码。 2. 配置编译环境: - 进入Qt源代码目录,运行./configure命令来配置编译选项。 - 设置交叉编译工具链路径,例如:./configure -xplatform linux-arm-gnueabi-g++ -device linux-rasp-pi4-g++ -sysroot /path/to/sysroot。 - 如果需要使用OpenGL,确保在配置选项中启用OpenGL相关选项,例如:-opengl es2 -device-option CROSS_COMPILE=/path/to/cross-compiler。 3. 编译和安装Qt: - 运行make命令开始编译Qt。这个过程可能会耗费一些时间,请耐心等待。 - 编译完成后,运行make install命令来安装Qt到指定目录。 4. 在树莓派上部署和测试: - 将编译好的Qt安装目录复制到树莓派上。 - 在树莓派上编写一个简单的Qt程序,并尝试运行以验证交叉编译是否成功,并且能够使用OpenGL功能。 需要注意的是,以上步骤只是一个简要的概述,实际操作可能会因为环境和配置的不同而有所不同。在进行此过程时,建议参考Qt的官方文档和树莓派相关的论坛、社区以获得更具体的指导和帮助。 ### 回答2: 树莓派4B 是一款强大的单板计算机,由于其资源受限,为了满足更高的性能需求,可以使用交叉编译技术在其他主机上编译运行Qt 5.12.9和OpenGL。 首先,我们需要准备一个具备足够性能的主机,用于进行交叉编译。这个主机可以是一台电脑或服务器,确保其硬件配置和性能足够强大。 接下来,我们需要在主机上安装交叉编译工具链。交叉编译工具链包括交叉编译器、交叉链接器和交叉工具等。可以根据所使用的操作系统,在主机上下载相应的交叉编译工具链。 然后,我们将Qt 5.12.9和OpenGL源代码下载到主机上。确保选取适用于树莓派4B的源代码版本,并将其解压到合适的目录中。 接着,我们可以创建一个交叉编译的目录,用于存放编译生成的可执行文件。进入该目录,并配置Qt和OpenGL的编译选项。一般情况下,我们需要指定交叉编译器、库的路径和安装的目标路径等。 然后,我们可以执行编译命令,开始交叉编译Qt和OpenGL。编译过程需要耐心等待,具体时间取决于主机的性能和网络速度。 最后,编译完成后,我们将生成的可执行文件拷贝到树莓派4B上,并安装所需的依赖库。通过相关命令启动程序,即可在树莓派4B上运行Qt 5.12.9和OpenGL应用程序。 总之,树莓派4B的交叉编译需要在性能强大的主机上进行,下载并配置好对应的交叉编译工具链,在主机上完成Qt 5.12.9和OpenGL的编译,然后将生成的可执行文件拷贝到树莓派4B上即可运行。这样可以满足树莓派4B的高性能需求,并享受到Qt和OpenGL的开发和应用的乐趣。 ### 回答3: 树莓派4B是一款强大的嵌入式系统开发板,我们可以通过交叉编译的方式在树莓派上安装和运行Qt5.12.9及其相关的OpenGL库。 首先,我们需要在PC机上准备好交叉编译环境。在电脑上安装好相应版本的Qt Creator,并下载好树莓派的交叉编译工具链。 接下来,我们需要下载Qt5.12.9的源码,并进行配置和编译。在命令行中进入Qt源码根目录,执行以下命令: ./configure -opengl es2 -device linux-rasp-pi4-v3d-g++ -device-option CROSS_COMPILE=xxx- 其中,xxx-是你的交叉编译工具链的前缀,例如arm-linux-gnueabihf-。 配置完成后,执行make -j4命令进行编译。这里的-j4可以使用多线程加速编译过程,具体线程数量可以根据你的电脑配置进行调整。 编译完成后,可以将生成的Qt安装到树莓派的系统目录中。首先,将树莓派连接到电脑上,然后通过SSH登录到树莓派的终端。 在终端中执行以下命令: make install 这将会将编译好的Qt安装到树莓派的系统目录中。 接下来,我们需要安装OpenGL相关的库。在树莓派的终端中执行以下命令: sudo apt-get install libgles2-mesa-dev 这将会安装OpenGL ES 2.0 的开发包。 最后,我们可以在Qt Creator中新建一个项目,并将其部署到树莓派上进行运行调试。在Qt Creator的编译选项中,选择交叉编译工具链,并设置好Qt的安装路径以及树莓派的IP地址。 配置完成后,点击我点击“运行”即可开始在树莓派上运行Qt应用程序,并享受Qt5.12.9的强大功能以及OpenGL的优势。
回答: 在嵌入式Linux中配置Qt环境的步骤如下: 1. 下载Qt源码: 从https://download.qt.io/archive/qt/5.12/5.12.9/single/下载qt-everywhere-src-5.12.9.tar.xz文件,并将其拷贝到Ubuntu系统中。 2. 解压Qt源码: 使用命令tar -xvf qt-everywhere-src-5.12.9.tar.xz解压下载的文件。 3. 修改qmake.conf: 打开解压后的qt-everywhere-src-5.12.9目录,修改其中的qmake.conf文件。根据引用的内容,将配置修改为适合arm-linux-gnueabi-gcc编译器的配置。 4. 编译Qt: 在终端中进入qt-everywhere-src-5.12.9目录,并执行configure命令来配置Qt环境。然后使用make命令编译Qt,并使用make install命令将Qt安装到指定的目录。 5. 打包Qt文件夹: 使用命令tar -jcf arm-qt.tar.bz2 arm-qt将qt-everywhere-src-5.12.9目录打包为arm-qt.tar.bz2文件,以备在开发板上进行移植。 6. 移植tslib到文件系统: 根据引用的内容,将tslib移植到目标文件系统中,以实现触摸屏的支持。 通过以上步骤,你就可以在嵌入式Linux系统中配置Qt环境了。123 #### 引用[.reference_title] - *1* [嵌入式Linux-Qt环境搭建](https://blog.csdn.net/hbsyaaa/article/details/122903198)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [嵌入式Linux下的Qt环境搭建](https://blog.csdn.net/Chuangke_Andy/article/details/122924792)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
你可以通过Qt官方提供的专门的资源下载网站来下载Qt的安装包。该网站是https://download.qt.io。在网站上,你可以找到一个archive目录,进入qt子目录,然后选择对应版本的Qt目录。以Qt5.14.2为例,你可以选择Windows下的安装包进行下载安装。注意,除非你想自己编译或阅读源码,否则不需要下载源码包。 在Windows下安装Qt5.14.2的步骤如下: 1. 打开下载的安装包。 2. 按照安装向导的指示进行安装,选择安装路径和组件。 3. 在组件选择界面,根据你的需要选择需要安装的模块。例如,如果你需要使用二维图表模块,可以选择Qt Charts;如果你需要处理应用内购买,可以选择Qt Purchasing等等。选择完毕后,点击"下一步"继续安装。 4. 点击"安装"按钮开始安装。 5. 等待安装完成。 6. 安装完成后,你可以根据需要配置Qt的环境变量。 7. 完成安装后,你可以开始使用Qt进行开发。 请注意,以上是针对Qt5.14.2版本在Windows系统下的安装步骤,其他版本和操作系统的安装步骤可能略有不同。你可以根据需要选择相应的版本和操作系统进行安装。123 #### 引用[.reference_title] - *1* *2* [Windows Qt安装教程](https://blog.csdn.net/weixin_46386047/article/details/125268144)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Qt下载安装教程,windows10亲测可用,版本5.12.11](https://blog.csdn.net/jjxcsdn/article/details/125432165)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

最新推荐

MATLAB遗传算法工具箱在函数优化中的应用.pptx

MATLAB遗传算法工具箱在函数优化中的应用.pptx

网格QCD优化和分布式内存的多主题表示

网格QCD优化和分布式内存的多主题表示引用此版本:迈克尔·克鲁斯。网格QCD优化和分布式内存的多主题表示。计算机与社会[cs.CY]南巴黎大学-巴黎第十一大学,2014年。英语。NNT:2014PA112198。电话:01078440HAL ID:电话:01078440https://hal.inria.fr/tel-01078440提交日期:2014年HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaireU大学巴黎-南部ECOLE DOCTORALE d'INFORMATIQUEDEPARIS- SUDINRIASAACALLE-DE-FRANCE/L ABORATOIrEDERECHERCH EEE NINFORMATIqueD.坐骨神经痛:我的格式是T是博士学位2014年9月26日由迈克尔·克鲁斯网格QCD优化和分布式内存的论文主任:克里斯汀·艾森贝斯研究主任(INRIA,LRI,巴黎第十一大学)评审团组成:报告员:M. 菲利普�

gru预测模型python

以下是一个使用GRU模型进行时间序列预测的Python代码示例: ```python import torch import torch.nn as nn import numpy as np import pandas as pd import matplotlib.pyplot as plt # 加载数据 data = pd.read_csv('data.csv', header=None) data = data.values.astype('float32') # 划分训练集和测试集 train_size = int(len(data) * 0.7) train_data = d

vmware12安装配置虚拟机

如何配置vmware12的“首选项”,"虚拟网络编辑器","端口映射”,"让虚拟机连接到外网”

松散事务级模型的并行标准兼容SystemC仿真

松散事务级模型的并行标准兼容SystemC仿真

AttributeError: 'MysqlUtil' object has no attribute 'db'

根据提供的引用内容,错误信息应该是'MysqlUtil'对象没有'db'属性,而不是'MysqlUtil'对象没有'connect'属性。这个错误信息通常是由于在代码中使用了'MysqlUtil'对象的'db'属性,但是该属性并不存在。可能的原因是'MysqlUtil'对象没有被正确地初始化或者没有正确地设置'db'属性。建议检查代码中是否正确地初始化了'MysqlUtil'对象,并且是否正确地设置了'db'属性。

数字化转型对企业业绩的影响研究以海尔智家为例.pptx

数字化转型对企业业绩的影响研究以海尔智家为例.pptx

泰瑞克·萨亚关联数据中的选择性披露和推理泄漏问题的研究

泰瑞克·萨亚关联数据中的选择性披露和推理泄漏问题的研究

Makefile:36: recipe for target '/home/l/海思/Hi3516CV500_SDK_V2.0.2.0/osdrv/tools/board/eudev-3.2.7/tmp/eudev-3.2.7/udevd' failed

根据提供的引用内容,可以看出是在进行make编译时出现了错误。具体来说,是在执行Makefile文件中第36行的目标'/home/l/海思/Hi3516CV500_SDK_V2.0.2.0/osdrv/tools/board/eudev-3.2.7/tmp/eudev-3.2.7/udevd'时出现了错误。可能的原因是该目标所依赖的文件或目录不存在或者权限不足等问题。需要检查Makefile文件中该目标所依赖的文件或目录是否存在,以及是否具有执行权限等。

基于物联网的智能家居系统设计与实现.pptx

基于物联网的智能家居系统设计与实现.pptx