【Qt】Qt安装(2024-10,QT6.7.3,Windows,Qt Creator 、Visual Studio、Pycharm 示例)

news2024/12/23 18:41:37

文章目录

  • 一、Qt 简介
  • 二、安装开源版本
    • 2.1 Qt 官网 与 版本选择
    • 2.2 Qt 安装程序
  • 三、使用示例
    • 3.1 Qt Creator
      • 3.11 示例程序
      • 3.12 新建C++项目
      • 3.13 新建Python项目
    • 3.2 Visual Studio
  • 附录
    • 附录 1:Additional Libraries 说明
    • 附录2 :老版本安装
    • 附录3:更改Qt组件:Qt Maintenance Tool

一、Qt 简介

Qt是一个跨平台的应用程序开发框架,广泛用于开发图形用户界面(GUI)应用程序、嵌入式系统以及多媒体应用

Qt可以在多个操作系统上运行,包括Windows、Linux、macOS、Android和iOS。这使得开发者能够用相同的代码基来构建和维护多个平台的应用程序。

Qt提供了大量的类和模块,包括但不限于:

  • QtCore:基础功能,如数据结构、文件处理和多线程。
  • QtGui:图形界面相关,处理窗口、图形效果、字体和图像等。
  • QtWidgets:传统的桌面应用程序组件,提供了按钮、窗口、对话框等控件。
  • QtQuick/QML:用于快速构建现代触摸界面的声明式语言和组件。
  • QtMultimedia:处理音频和视频的播放和录制。

Qt采用信号与槽机制来处理事件和通信。开发者可以通过定义信号和槽来实现不同对象之间的解耦通信,这使得编写和维护代码变得更加简单。

Qt内置了国际化和本地化的支持,开发者可以方便地将应用程序翻译成多种语言。

Qt提供了Qt Creator,一个强大的集成开发环境(IDE),具备代码编辑、调试、版本控制等功能,帮助开发者提高开发效率。

Qt有一个活跃的开发社区,提供了丰富的文档、示例代码和论坛支持。同时,Qt公司也提供商业支持。

Qt在嵌入式开发中也有广泛应用,支持各种硬件和操作系统,可以用于开发图形界面的嵌入式设备。

Qt提供了多种许可证,包括开源的LGPL和商业许可证,开发者可以根据自己的需求选择合适的许可证。

Qt适用于各种类型的应用开发,如:

  • 桌面应用程序(例如,文本编辑器、图像处理软件)。
  • 移动应用程序(例如,社交媒体应用)。
  • 嵌入式系统(例如,智能家居设备的界面)。
  • 游戏开发。

Qt以其强大的功能和灵活性,成为了现代应用程序开发的重要工具。如果你对某个具体方面有更多的兴趣,欢迎进一步提问!

二、安装开源版本

2.1 Qt 官网 与 版本选择

🟢 Qt官网:qt.io (点击地球图标可以切换语言,部分页面不支持中文)


在这里插入图片描述

先注册一个Qt的账号,不赘述。

如上图所示,主要有4类软件,即设计、开发、测试、分析(自己点进去看有详细介绍)。

Qt Design Studio主要用于设计用户界面,支持拖放操作和动态预览,适合UI/UX设计师。

Qt Creator是一个集成开发环境(IDE),专注于编写、调试和构建代码,适合程序员。两者可以结合使用,提升开发效率。

🟢 这里下载的是Qt Creator

Qt Creator :支持人工智能的跨平台 IDE
Qt Creator是跨平台的集成开发环境(IDE),专为最大限度地提高开发者的工作效率而定制。
Qt Creator支持在编程过程中使用GitHub Copilot等编码助手。它帮助开发者为桌面、移动端和嵌入式平台创建软件。

在这里插入图片描述

🟢 Qt Creator本身是免费的开源软件,但Qt框架的商业许可证是需要付费的。

点击 网站的Price.Buy.就可以看到不同版本的报价:

  • Corporation(公司):各种软件价格为几千美元一年,部分软件需要咨询价格;
  • Small Business(小型企业):最高999美元一年;
  • Education & Community(教育/社区版本):这个版本大家最清楚了。免费,但是高级功能、技术支持、许可证条款与付费版本不同。

本文下载的是开源版本(与Education & Community版本功能相同,其实就是是一个版本)。开源版本主要是许可证、技术支持、部分高级功能与付费版本有区别。

Qt开源版本的协议说明:

When selecting an open source license for your project, you contribute to free and open source software development by using Qt under any of the following licenses: LGPL version 3, GPL version 2 and GPL version 3.

GPL和LGPL简要说明:

  • GPL2 和 GPL3 强调用户自由和源代码公开的要求,GPL3 提供了更多的现代保护措施。
  • LGPL 提供了更大的灵活性,允许在不公开应用程序源代码的情况下使用和分发开源库。

🔹如果你使用了开源版本,发布产品时就要遵循相应的开源协议(还有按照相应的要求添加版权声明,qt安装程序的许可协议部分写了完整的)。如果你使用QT获利了几千、几万、几十万,而没有遵循开源协议,这可能没有什么问题。但这已经违背了开源精神和开源协议,精神暂且不谈,违反协议是要负法律责任的,就看你值不值得买被起诉了。

🟠开源版本页面:https://www.qt.io/download-open-source

在页面正文最下方,就可以看到:Download the Qt Online Installer,点击下载即可。

这是一个 软件/组件 安装器,Visual Studio Installer是类似的。你可以使用这个软件,安装你需要的组件。而且可以在安装完成之后,再次添加或者移除你需要或者不需要的组件。

在这里插入图片描述

2.2 Qt 安装程序

打开刚刚下载的 Qt Online Installer,首先要登录QT账号。

安装文件夹的名称,就按照你写代码给变量命名的规范来,不要用中文这些,以免日后某个地方出现问题。

主要步骤就是选择组件这一步,其他步骤我无需赘述。


在 Qt 安装程序的组件选择中,主要有3个部分:

🟢(1)Qt Design Studio :一个用于设计和构建用户界面的工具,支持快速原型开发。适合需要 UI 设计和交互设计的项目。这个是设计高级界面的,比如动画。基本界面设计可以不按照这个。安装Qt creator的时候会按照Qt Designer,它是Qt Design Studio的reduce版本。

Qt Design StudioLTS后缀就是Long Time Support 版本的意思,长期支持版本。没有后缀的就是最新发布版本,但可能有些bug之类的。snapshot就是开方中的最新版本快照。一般安装的话,选择LTS版本即可。
在这里插入图片描述


🟢(2) Extensions提供额外的功能模块和工具,例如用于特定领域的支持、插件等。可以扩展 Qt 的功能。

Extensions 有3个扩展:QT Insight Tracker、QT PDF、QT WebEngine:

  1. Qt Insight Tracker

    • 功能:用于收集和分析用户行为数据,帮助开发者了解用户如何与应用程序互动。适合需要数据分析和用户体验优化的项目。
  2. Qt PDF

    • 功能:提供 PDF 文档的处理和显示功能,支持在应用程序中生成、渲染和操作 PDF 文件。适合需要处理文档的应用。
  3. Qt WebEngine

    • 功能:允许开发者在 Qt 应用中嵌入网页内容,基于 Chromium 引擎,支持现代网页技术。适合需要集成 Web 应用或展示在线内容的项目。

在这里插入图片描述

🟠(3)Qt:核心组件,包含 Qt 的主要模块。

QT 下面有2类选项:

  • 第一类是QT的几个版本,rc后缀是最新测试版,无后缀的是稳定版本;
  • 第二类是Developer and Designer Tools,即开发和设计工具。

🔹第一部分:以QT 6.7.3为例,下面有这些选项:
在这里插入图片描述

选项名称功能描述
WebAssembly (multi-threaded)支持多线程的 WebAssembly 版本,适合需要并发处理的应用。
WebAssembly (single-threaded)单线程的 WebAssembly 版本,适合较简单的 Web 应用。
MSVC 2019 ARM64 (TP)针对 ARM64 架构的 Microsoft Visual C++ 2019 版本,适合 ARM 设备。
LLVM-MinGW 17.0.6 64-bit使用 LLVM 工具链的 MinGW 编译器,适合特定编译选项或性能优化。
MSVC 2019 64-bit针对 64 位 Windows 的 Microsoft Visual C++ 2019 版本。
MinGW 11.2.0 64-bit针对 64 位 Windows 的 MinGW 编译器,适合跨平台应用开发。
Android提供对 Android 平台的支持,适合开发 Android 应用。
Sources包含 Qt 源代码,适合自定义 Qt 或调试的开发者。
Qt Quick 3D用于开发 3D 图形应用,适合需要三维渲染的项目。
Qt 5 Compatibility Module提供与 Qt 5 的兼容性支持,适合迁移到 Qt 6 的项目。
Qt Shader Tools用于开发和调试着色器,适合涉及图形编程的项目。
Additional Libraries提供额外的库,具体内容视项目需求而定。
Qt Debug Information Files调试信息文件,适合进行深度调试的开发者。
Qt Quick Timeline用于时间轴动画的工具,适合需要复杂动画的应用。

🔹第二部分:Developer and Designer Tools,包含下面的组件:

组件名称功能描述
LLVM-MinGW 17.0.6 64-bit使用 LLVM 的 MinGW 编译器,适合需要特定编译选项的开发。
Qt Creator 14.0.1Qt 的集成开发环境,支持代码编辑、调试和项目管理。
Qt Creator 14.0.1 CDB Debugger Support提供与 Microsoft CDB 调试器的集成支持,适合 Windows 开发。
Debugging Tools for WindowsWindows 的调试工具,适合调试 Windows 应用程序。
Qt Creator 14.0.1 Debug Symbols调试符号支持,帮助在调试时提供更多信息。
Qt Creator 14.0.1 Plugin Development支持开发 Qt Creator 插件的工具,适合扩展 IDE 功能。
MinGW 13.1.0 64-bit64 位的 MinGW 编译器,适合在 Windows 上开发。
MinGW其他版本不展开赘述,版本不同,新旧不同
Qt Installer Framework 4.8用于创建 Qt 应用的安装程序,支持多平台打包和分发。
CMake 3.29.3用于管理项目构建的工具,支持跨平台开发和构建系统集成。
Ninja 1.12.0现代化的构建系统,适用于高效构建和编译过程。
OpenSSL 3.0.15 Toolkit提供加密库和安全协议的支持,适合需要安全通信的应用。

安装Qt Creator的时候,会一起安装Qt Designer,这个是用来设计简单的界面的。

前面我还安装了 Qt Design Studio,它们都是用于设计Qt用户界面的工具:

Qt Designer

  1. 功能:主要用于创建和编辑简单的用户界面,支持基本的控件和布局设计。
  2. 目标用户:面向希望快速设计桌面应用程序界面的开发者。
  3. 使用方式:界面设计完成后,通常导出为.ui文件,可以在PyQt或C++ Qt项目中使用。
  4. 特点:简单易用,适合初学者和小型项目。

Qt Design Studio

  1. 功能:提供更高级的功能,支持动画、动态效果和现代化设计,适合创建复杂和动态的用户界面。
  2. 目标用户:面向需要创建高保真原型和复杂界面的设计师与开发者。
  3. 使用方式:不仅可以设计界面,还能进行UI/UX原型设计,支持导出为QML代码。
  4. 特点:集成了设计和开发流程,更适合现代应用的开发,支持团队协作。

总结

  • Qt Designer适合简单桌面应用的快速设计。
  • Qt Design Studio则提供了更多功能,适合复杂和动态界面的开发。如果你需要更多的设计能力和交互性,可以考虑使用Qt Design Studio。

🟢🟢 如何选择安装的组件?

根据需要安装即可,初学者推荐至少安装上面表格中红色的部分。

Additional Libraries 可以看附录一,根据需要安装。

安装老版本可以看附录二。

QT某个版本下面的组件,根据需要安装,最好不要安装那些明确不需要的内容,比如Android,比如与你CPU架构不同的组件,如果全选的话,占用空间至少超过50GB。

不要担心装多了或者没安装需要的,完成之后还可以安装新的组件或移除组件的。

🟢 本文选择的是:Qt Design Studio 4.1.1 LTS、暂不安装Extemsions、剩余的则是前面表格的红色内容。

在这里插入图片描述

有时候下载某个组件的时候,会弹窗连接关闭,重试即可。或者开个网络代理。
总之,你如果出现下载慢、不能下载等问题,那就是网络问题,开个代理即可。我一直开着的,没有这类问题。(网络问题这里不能展开讲)

安装完成:
在这里插入图片描述

三、使用示例

3.1 Qt Creator

3.11 示例程序

打开Qt Creator,各种菜单什么的,自己过一遍即可。
在这里插入图片描述

在欢迎界面下,有很多示例项目。随便选一个,可能会有一个小的弹窗,这是这个项目的相关说明,可以看看,也可以直接关掉。

Qt Creator会默认转到项目配置界面:比如我这里选择MinGW编译套件(前面安装过程中安装了这个的),然后点击右下角的configure project
在这里插入图片描述

就会转到代码编辑的页面:
在这里插入图片描述
点击左下角的运行,即可运行示例程序。


3.12 新建C++项目

第一个:
在这里插入图片描述

构建系统,小项目可以选qmake,复杂系统选择cmake,qbs是现代化构建系统,可能使用的人不多。

项目细节,各种名称什么的,自己设置,Translation可以选择需要的语言,比如中文。

构建套件,根据需要选择即可,MinGW适合跨平台,GNU工具链支持好,用GCC编译嘛,Visual Studio这些软件也可以设置为GCC编译。MSVC就是微软编译器了,对Windows API支持最好,与Visual Studio这些完美兼容。
在这里插入图片描述

运行示例:
在这里插入图片描述

3.13 新建Python项目

在这里插入图片描述

解释器 Interpreter那里选择PySide 6(Qt 6,Qt5是PySide2),当然现在可能还没安装,后面安装即可。

后见套件这里,选择Python(这个是你系统的python,一般你安装pythonn的时候会添加到环境变量,这里就会自动检测到,没有的话手动指定也可以),下面最好选择虚拟环境。
在这里插入图片描述

完成后根据提示安装所需的库:

在这里插入图片描述
form.ui就是界面的代码(是XML格式的),双击,即可可视化地设计界面(Qt Designer),比如我显示一行文字。

注意看绿色部分文字,ui文件需要转换成py文件,这个默认的ui文件,按下运行后会自动转换为py文件。如果你新建ui文件,或者使用pycharm,需要手动使用下图中的命令进行转换。
在这里插入图片描述

左下角运行:
在这里插入图片描述
运行后,.ui文件会被编译成对应的py文件。
在这里插入图片描述

这个项目可以在Pycharm中打开,python解释器记得换成刚刚配置的虚拟环境中的那个:
在这里插入图片描述

在python中双击.ui文件,即可打开Qt Designer,进行界面的设计。

你也可以把Qt Designer 添加到pycharm的菜单栏中,路径示例:D:\QT\Tools\QtDesignStudio-4.1.1-lts\qt6_design_studio_reduced_version\bin\designer.exe,qt6开头是qt6的。

然后在菜单栏-工具-外部工具,即可打开Designer。
在这里插入图片描述


使用上面添加的Qt Designer新建一个界面,然后转换为python文件:
在这里插入图片描述
我执行命令的目录是项目所在目录,虚拟环境在该目录下的 .qtcreator/Python_3_11_7venv,使用的是Qt6。
在这里插入图片描述
使用新的界面MainWindow:
在这里插入图片描述

3.2 Visual Studio

打开Visual Studio,选择继续但无需代码
在这里插入图片描述

点击菜单的扩展,安装新的扩展,搜索Qt,安装这个Qt Visual Studio Tools

关闭VS,即可开始安装,有个弹窗,点击Modify,即可。

在这里插入图片描述

安装很快,因为之前已经下载了MSVC的相关内容。

打开VS,创建新的项目,即可看到Qt项目相关选项:
在这里插入图片描述

比如我选择QtWidgetsApplication:点击红框位置,选择安装的Qt 构建工具(就是MSVC的Qmake,因为没有添加到环境变量,所以这里要手动添加)

在这里插入图片描述
位置示例:D:\QT\6.7.3\msvc2019_64\bin\qmake.exe

Enable PCH Support(启用预编译头支持):

功能:预编译头可以加速编译过程,特别是在大型项目中。通过预先编译一些不常更改的头文件,减少每次编译时的处理时间。
启用:如果你的项目包含多个头文件且编译时间较长,启用此选项可能会提高编译效率。
禁用:对于小型项目或频繁修改的项目,禁用可能更简单,避免潜在的复杂性。

在这里插入图片描述
点击Next后名称什么的自己选。

运行默认代码:
在这里插入图片描述

🟢Visual Studio Code 也是类似的,有很多Qt的扩展。


附录

附录 1:Additional Libraries 说明

组件名称功能描述
Active Qt提供与 ActiveX 控件的集成,适用于 Windows 平台的开发。
Qt 3D用于创建和渲染 3D 图形的框架,适合游戏和可视化应用。
Qt Charts提供图表和数据可视化功能,适合展示数据的应用。
Qt Connectivity支持蓝牙、NFC 和其他连接技术的功能,适合物联网应用。
Qt Data Visualization用于数据可视化,支持不同类型的图表和图形展示。
Qt Graphs (TP)提供图形和网络图的支持,适合复杂数据结构的可视化。
Qt HTTP Server (TP)用于创建 HTTP 服务器,适合 Web 应用开发。
Qt Image Formats支持多种图像格式的加载和保存,适合图形应用。
Qt Insight Tracker (TP)用于收集和分析用户行为数据,帮助优化用户体验。
Qt Language Server提供语言服务协议支持,适合开发支持 LSP 的编辑器和 IDE。
Qt Location (TP)提供地理位置相关功能,支持地图和定位服务。
Qt Lottie Animation支持 Lottie 动画文件的渲染,适合动态用户界面设计。
Qt Multimedia提供音频和视频处理功能,适合多媒体应用。
Qt Network Authorization提供网络授权和认证支持,适合安全性要求较高的应用。
Qt PDF用于处理和显示 PDF 文档,适合文档相关应用。
Qt Positioning提供定位功能,支持 GPS 和其他定位技术。
Qt Protobuf and Qt GRPC (TP)支持 Protobuf 和 gRPC 的网络通信,适合分布式系统开发。
Qt Quick 3D Physics提供 3D 物理仿真支持,适合游戏和仿真应用。
Qt Quick Effect Maker用于创建和编辑 Qt Quick 动画效果,适合视觉效果设计。
Qt Remote Objects提供远程对象通信支持,适合分布式应用开发。
Qt Sensors提供传感器数据访问功能,适合物联网和移动设备应用。
Qt Serial Bus支持串行总线通信,适合嵌入式和工业应用。
Qt Serial Port提供串行端口通信功能,适合设备间通信。
Qt Speech提供语音识别和合成支持,适合语音交互应用。
Qt State Machines支持状态机的实现,适合复杂交互和行为管理。
Qt Virtual Keyboard提供虚拟键盘功能,适合触摸屏应用。
Qt WebChannel支持 WebSocket 通信,适合 Web 和 Qt 应用间的交互。
Qt WebEngine嵌入式网页内容支持,基于 Chromium 引擎,适合现代 Web 应用。
Qt WebSockets提供 WebSocket 通信支持,适合实时数据交换应用。
Qt WebView嵌入网页内容的组件,适合在应用中展示 Web 内容。

附录2 :老版本安装

类别这里勾选Archive,然后点击筛选,等待从远程仓库获取信息,即可看到下图结果。

Qt 5 最低版本是5.15。
在这里插入图片描述

它上面也提示了,这些老版本可能存在一些错误。总之尽可能选择新的稳定版本嘛。

此外,点击筛选后,可能会出现:
在这里插入图片描述

网络错误。你开个代理就行了,这个没必要说了吧,也不让说🤭。

附录3:更改Qt组件:Qt Maintenance Tool

找到 Qt Maintenance Tool,这个是第一次安装的时候默认安装的。

在这里插入图片描述

根据需要操作即可:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2182116.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于大数据架构的就业岗位推荐系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

Redis入门第一步:认识Redis与快速安装配置

认识Redis与快速安装配置🍃 Redis是什么🐲 1.Redis的背景🎍 Redis(Remote Dictionary Server)译为"远程字典服务",它是一款基于内存实现的键值型 NoSQL 数据库, 通常也被称为数据结…

An End-to-End Local Attention Based Model for Table Recognition(ICDAR 2023)

An End-to-End Local Attention Based Model for Table Recognition(ICDAR 2023) 一.前述 作者认为基于Transformer的表格识别模型很难处理大表格的识别,原因是受限于它的全局注意力global attention机制。 基于以上,作者提出了一种局部注意力local a…

【HTML并不简单】笔记1-常用rel总结:nofollow、noopener、opener、noreferrer,relList

文章目录 rel"nofollow"rel"noopener"与rel"opener"rel"noreferrer"relList对象 《HTML并不简单:Web前端开发精进秘籍》张鑫旭,一些摘要: HTML,这门语言的知识体系非常庞杂,涉…

Windows开发工具使用技巧全面指南

目录 目录 Visual Studio 功能概述 使用技巧 快捷键表 Visual Studio Code 功能概述 常用扩展 使用技巧 PowerShell 功能概述 常用命令 脚本编写技巧 Git for Windows 功能概述 集成技巧 常用命令表 调试工具 Visual Studio调试器 使用技巧 WinDbg 使用技…

828华为云征文|部署音乐流媒体服务器 mStream

828华为云征文|部署音乐流媒体服务器 mStream 一、Flexus云服务器X实例介绍二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置2.4 Docker 环境搭建 三、Flexus云服务器X实例部署 mStream3.1 mStream 介绍3.2 mStream 部署3.3 mStream 使用 四、…

UE4完整教程 UE4简介 UE4学习攻略及文件格式

开头附上工作招聘面试必备问题噢~~包括综合面试题、无领导小组面试题资源文件免费!全文干货。 UE4简介学习攻略UE4Demo代码面试内容资源-CSDN文库https://download.csdn.net/download/m0_72216164/89825102 工作招聘无领导小组面试全攻略最常见面试题(第一部分)共有17章+可…

PCL 点云模型滤波(圆形)

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 生成点云数据 2.1.2 模型滤波函数 2.1.3 可视化函数 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接: PCL点云算法与项目实战案例汇总&#xf…

「JavaScript深入」彻底理解JS中的闭包

JavaScript深入 — 闭包 一、概念二、示例三、实用的闭包四、用闭包模拟私有方法五、一个常见错误:在循环中创建闭包🌰 另一个经典例子-定时器与闭包 六、优劣好处坏处解决 七、图解闭包八、应用 💪封装私有变量函数工厂异步操作中的回调函数…

css中背景色、背景图的使用

1、同时使用背景色、背景图片 参考链接:链接 以下样式,背景色在图片下方(缺点:图片不透明时,背景色会被完全遮挡。) .header {height: 100%;width: 100%;background-color: #000;background-image: url(/static/images/back.pn…

云原生之运维监控实践-使用Prometheus与Grafana实现对MySQL和Redis服务的监测

背景 如果你要为应用程序构建规范或用户故事,那么务必先把应用程序每个组件的监控指标考虑进来,千万不要等到项目结束或部署之前再做这件事情。——《Prometheus监控实战》 去年写了一篇在Docker环境下部署若依微服务ruoyi-cloud项目的文章,当…

数据结构之手搓顺序表(顺序表的增删查改)

目录 文章目录 前言 一、什么是顺序表? 二、动态顺序表的实现 1.头文件定义 2.实现顺序表的初始化 3.检查顺序表空间容量是否足够,不够就增容 4.顺序表的销毁 5.顺序表的打印 6.顺序表的尾插 7.顺序表的头插 8.顺序表的头删 9.顺序表的尾删 10.顺序…

LeetCode题练习与总结:二叉树的所有路径--257

一、题目描述 给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 示例 1: 输入:root [1,2,3,null,5] 输出:["1->2->5","1->…

RabbitMQ基本原理

一、基本结构 所有中间件技术都是基于 TCP/IP 协议基础之上进行构建新的协议规范,RabbitMQ遵循的是AMQP协议(Advanced Message Queuing Protocol - 高级消息队列协议)。 生产者发送消息流程: 1、生产者和Broker建立TCP连接&#…

国庆同欢,祖国昌盛!肌肉纤维启发,水凝胶如何重构聚合物

在这个国庆佳节,我们共同感受祖国的繁荣昌盛,同时也迎来了知识的探索之旅。今天来了解聚合物架构的重构的研究——《Hydrogel‐Reactive‐Microenvironment Powering Reconfiguration of Polymer Architectures》发表于《Advanced Science》。材料科学不…

【数据结构与算法】算法和算法分析

文章目录 一.算法1.定义2.描述 二.算法与程序三.算法特性四.算法效率的度量4.1算法时间事前分析法算法时间复杂度的渐进表示法分析算法时间复杂度的基本方法 4.2算法空间 数据的逻辑结构映像到内存就是数据的存储结构,针对数据的逻辑结构可以选择多种存储结构。数据…

Kotlin:2.0.0 的新特性

一、概述 kotlin 2.0.0版本英文官方文档 The Kotlin 2.0.0 release is out and the new Kotlin K2 compiler is Stable! Additionally, here are some other highlights: Kotlin 2.0.0发布了,新的Kotlin K2编译器已经稳定了。此外,以下是其他一些亮点: …

Linux操作系统中dubbo

1、简介 dubbo框架是做微服务通信的,是由阿里巴巴开发,后捐赠给阿帕奇基金会。 2、与OpenFeign的区别 dubbo是采用RPC协议实现微服务通信,OpenFeign是采用Http请求的方式实现的。 OpenFeign 最简单的,就是Spring公司开发的&am…

TinyAP:使用TinyML对抗Wi-Fi攻击的智能接入点

论文标题: 英文:TinyAP: An intelligent Access Point to combat Wi-Fi attacks using TinyML中文:TinyAP:使用TinyML对抗Wi-Fi攻击的智能接入点 作者信息: Anand Agrawal 和 Rajib Ranjan Maiti,来自印…

C语言常用标准库 -- 5.<time.h>

目录 引言 5. C标准库--time.h 5.1 简介 5.2 常量与宏 5.3 库变量 5.4 库宏 5.5 库函数 5.6 注意事项 🌈你好呀!我是 程序猿 🌌 2024感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅,挖掘无限可能,…