当前位置: 首页 > news >正文

pyqt环境配置

文章目录

    • 1 概述
    • 2 PyQt6和PySide6区别
    • 3 环境配置
    • 4 配置PySide6
    • 5 配置PyQt6
    • 6 配置外部工具
    • 7 添加模板
    • 8 使用pyside6-project构建工程
    • 9 常见错误
    • 10 相关地址


更多精彩内容
👉内容导航 👈
👉Qt开发 👈
👉python开发 👈

1 概述

通常说的PyQt其实是分为PyQt和PySide两类。

PyQt6 和 PySide6 都是用于创建跨平台图形用户界面(GUI)应用程序的 Python 绑定库,它们基于 Qt 库。两者的主要区别在于其授权模式、开发和维护团队的不同和部分语法不同。

环境说明

环境版本
pythonV3.13.2
系统windows10
pycharmpycharm-community-2024.3.5.exe
PySide6PySide6.9
tomlkit0.13.2

2 PyQt6和PySide6区别

名称PyQt6PySide6
开发方Riverbank Computing 维护Qt 官方维护 (The Qt Company)
许可证GPLv3 或商业许可LGPLv3
API 兼容性与 Qt6 完全绑定,主动跟进新特性严格遵循 Qt6 官方 API,更新较稳定
模块导入方式from PyQt6 import QtCorefrom PySide6 import QtCore
信号与槽语法使用 pyqtSignal / pyqtSlot使用 Signal / Slot

授权模式

  • PyQt6: 使用的是 GPL(GNU General Public License)和商业许可。这意味着如果你要开发一个开源项目并且项目本身也使用 GPL 许可,那么使用 PyQt6 是没有问题的。但是,如果你开发的是一个闭源的商业项目,那么你需要购买商业许可。
  • PySide6: 采用的是 LGPLv3/GPLv3(GNU Lesser General Public License)和商业许可。LGPL 对于链接到库的软件,而不是库本身,提供了更宽松的授权条件。也就是说,即使你的项目是闭源的,只要不是 Qt 库本身,你也可以在没有购买商业许可的情况下使用 LGPL。

开发和维护团队

  • PyQt6: 主要由 Riverbank Computing 公司负责开发和维护。
  • PySide6: 由 The Qt Company 负责开发和维护,这家公司是 Qt 库的官方所有者。

PyQt6

优点:

  • 拥有成熟的社区支持和丰富的文档。
  • 提供了对 Qt 库功能的完整覆盖。

缺点:

  • 对于商业用途,如果没有购买商业许可,可能会受到 GPL 许可的限制。
  • 在安装和配置上可能会遇到一些复杂性,特别是对于新手来说。

PySide6

优点:

  • 对于商业用途,LGPL 提供了更大的灵活性。
  • 由于是官方维护,可能会获得更快的更新和更好的性能表现。

缺点:

  • 相较于 PyQt6,社区支持相对较少,可能会遇到一些问题时没有足够的资源来解决。
  • 文档的丰富程度和易用性可能会稍逊一筹。

3 环境配置

  1. 下载安装python;

  2. 下载安装pycharm;

  3. 下载安装Qt,可以在Qtcreator中开发pyqt,也可以使用Qt安装包中自带的帮助文档,但是qtcreator对python语法支持没有pycharm好(可选)。

  4. 修改pip源,否则默认源安装会非常慢,

  5. 使用阿里云pip镜像;

  6. 在windows中的C:\Users\用户名路径下创建一个.pip文件夹,然后再在.pip文件夹中创建一个pip.conf文件,将下列内容添加到pip.conf文件中;

    [global]
    index-url = http://mirrors.aliyun.com/pypi/simple/[install]
    trusted-host=mirrors.aliyun.com
    

4 配置PySide6

  • 官方地址

安装方法1:使用命令行在线安装

pip install pyside6   # 默认安装最新版本
pip install pyside6==6.4.1  # 安装指定版本
pip install --index-url=https://download.qt.io/snapshots/ci/pyside/6.4/latest pyside6 --trusted-host download.qt.io  从指定服务器安装

安装方法2: 使用pycharm安装

  • 打开pycharm,创建一个工程;

  • 选择python软件包,搜索PySide6,如下所示,点击【安装】;

    在这里插入图片描述

安装方法3: 下载whl安装包,离线安装,对于内网环境或者网络不好pip安装失败的环境可用

  • 进入pyside下载地址或者pypi下载地址;

  • 选择需要的版本,这里选择的是最新版本;

  • 然后搜索自己的系统平台,这里搜索win_amd64,可以看到有6个whl包;

    在这里插入图片描述

  • 分别下载6个whl到本地,如下图所示;

    在这里插入图片描述

  • 创建一个requirements.txt文件,将所有whl包名称添加到requirements.txt文件中;

    在这里插入图片描述

  • 使用pycharm创建一个工程。

  • 点击终端,然后使用pip install xxx.whl命令进行安装;

  • 或者进入whl包所在路径,使用pip install -r requirements.txt命令进行安装;

    在这里插入图片描述

5 配置PyQt6

  • pypi下载地址;
  • 与PySide6类型,可以使用pip install PyQt6,但是PyQt6默认不包含开发工具,需要单独安装,详细看https://pypi.org/project/pyqt6-tools/;

6 配置外部工具

  1. 打开【设置】【工具】【外部工具】,点击+;

  2. 添加designer,设置程序路径工作目录如下所示;

    在这里插入图片描述

  3. 添加pyside6-uic

    在这里插入图片描述

  4. 添加pyside6-project,用于构建pyqt工程;

    在这里插入图片描述

7 添加模板

这一步不是必须,可以通过designer创建UI文件。

  1. 在pycharm中创建Qt ui文件可通过设置文件模板的方式实现;

  2. 打开【设置】【编辑器】【文件和代码模板】;

  3. 选择【文件】,点击+,设置扩展名为ui,添加ui模板如下所示;

    <?xml version="1.0" encoding="UTF-8"?>
    <ui version="4.0"><class>Widget</class><widget class="QWidget" name="Widget"><property name="geometry"><rect><x>0</x><y>0</y><width>400</width><height>300</height></rect></property><property name="windowTitle"><string>Widget</string></property></widget><resources/><connections/>
    </ui>

    在这里插入图片描述

8 使用pyside6-project构建工程

  1. 创建一个名称.pyproject文件;

  2. 按下列格式添加需要构建的文件名称,会批量将ui文件生成ui_name.py文件;

    {"files": ["main.py","widget.ui","widget1.ui"]
    }
    
  3. 注意:pyside6-project需要tomlkit库支持。

9 常见错误

  1. 缺失tomlkit

    Traceback (most recent call last):
    File "E:\Code\py\untitled1\.qtcreator\Python_3_13_2venv\Lib\site-packages\PySide6\scripts\project.py", line 10, in <module>
    from project_lib import (QmlProjectData, check_qml_decorators, is_python_file, migrate_pyproject,
    ... <3 lines>...
    ClOptions, DesignStudioProject)
    File "E:\Code\py\untitled1\.qtcreator\Python_3_13_2venv\Lib\site-packages\PySide6\scripts\project_lib\__init__.py", line 46, in <module>
    from .utils import (run_command, requires_rebuild, remove_path, package_dir, qtpaths,
    qt_metatype_json_dir, resolve_valid_project_file)
    File "E:\Code\py\untitled1\.qtcreator\Python_3_13_2venv\Lib\site-packages\PySide6\scripts\project_lib\utils.py", line 12, in <module>
    from .pyproject_toml import parse_pyproject_toml
    File "E:\Code\py\untitled1\.qtcreator\Python_3_13_2venv\Lib\site-packages\PySide6\scripts\project_lib\pyproject_toml.py", line 8, in <module>
    import tomlkit
    ModuleNotFoundError: No module named 'tomlkit'
    15:15:57: 进程"E:\Code\py\untitled1\.qtcreator\Python_3_13_2venv\Scripts\pyside6-project.exe"退出,退出代码 115:15:57: Error while building/deploying project untitled1 (kit: Python 3.13.2)
    15:15:57: When executing step "Run PySide6 project tool"
    
    • 解决办法:
      1. 下载tomlkit包进行安装;
      2. 使用pip install tomlkit命令进行安装。

10 相关地址

  • Qt for Python地址
  • pyside6下载地址1
  • pyside6下载地址2
  • PySide6包依赖
  • PyQt6地址
  • PyQt6文档
  • PyQt6下载地址

相关文章:

pyqt环境配置

文章目录 1 概述2 PyQt6和PySide6区别3 环境配置4 配置PySide65 配置PyQt66 配置外部工具7 添加模板8 使用pyside6-project构建工程9 常见错误10 相关地址 更多精彩内容&#x1f449;内容导航 &#x1f448;&#x1f449;Qt开发 &#x1f448;&#x1f449;python开发 &#x1…...

YOLO11改进——融合BAM注意力机制增强图像分类与目标检测能力

深度学习在计算机视觉领域的应用取得了显著进展&#xff0c;尤其是在目标检测&#xff08;Object Detection&#xff09;和图像分类&#xff08;Image Classification&#xff09;任务中。YOLO&#xff08;You Only Look Once&#xff09;系列算法凭借其高效的单阶段检测框架和…...

考研单词笔记 2025.04.14

amount n数量&#xff0c;数额v&#xff08;数量&#xff09;达到&#xff0c;总计&#xff08;to&#xff09;&#xff0c;意味着&#xff0c;相当于 couple n一对&#xff0c;一双&#xff0c;一些&#xff0c;几个&#xff0c;夫妻&#xff0c;情侣v连接&#xff0c;结合 …...

AI云游戏盒子:未来娱乐的新纪元

AI云游戏盒子&#xff1a;未来娱乐的新纪元 随着科技的不断进步&#xff0c;人工智能&#xff08;AI&#xff09;与云计算技术的结合正在重新定义我们享受数字娱乐的方式。2025年&#xff0c;一款名为“AI云游戏盒子”的产品正逐渐成为家庭娱乐的核心设备&#xff0c;它不仅集…...

第八章 文件操作

第八章 文件操作 文章目录 第八章 文件操作1 文件读取1 将文件整个读取内存2 按字节读取文件 1 文件读取 1 将文件整个读取内存 类似于python的 with open(filename, modert, encodingutf-8) as f:res f.read()go中的书写方式&#xff1a; 方式一&#xff1a; package ma…...

《extern:如何在编译时“暗通款曲“》

C中extern关键字的完整用法总结 extern是C中管理链接性&#xff08;linkage&#xff09;的重要关键字&#xff0c;主要用于声明外部定义的变量或函数。以下是详细的用法分类和完整示例&#xff1a; 一、基本用法 1. 声明外部全局变量 // globals.cpp int g_globalVar 42; …...

活动图与流程图的区别与联系:深入理解两种建模工具

目录 前言1. 活动图概述1.1 活动图的定义1.2 活动图的基本构成要素1.3 活动图的应用场景 2. 流程图概述2.1 流程图的定义2.2 流程图的基本构成要素2.3 流程图的应用场景 3. 活动图与流程图的联系4. 活动图与流程图的区别4.1 所属体系不同4.2 表达能力差异4.3 使用目的与语境4.4…...

FinanceRAG获奖方案解读:ACM-ICAIF ’24的FinanceRAG挑战赛

ACM-ICAIF 24 FinanceRAG Challenge提供一套整合的文本和表格财务数据集。这些数据集旨在测试系统检索和推理财务数据的能力。参与者将受益于 Github 上的基线示例和官方提交代码&#xff0c;其位于FinanceRAG&#xff0c;以及在 huggingface 上的简化的数据集访问&#xff0c;…...

Linux LED驱动(gpio子系统)

0. gpio子系统 gpio子系统是linux内核当中用于管理GPIO资源的一套系统&#xff0c;它提供了很多GPIO相关的API接口&#xff0c;驱动程序中使用GPIO之前需要向gpio子系统申请。 gpio子系统的主要目的就是方便驱动开发者使用gpio&#xff0c;驱动开发者在设备树中添加gpio相关信息…...

场外期权交易和结算方式的区别是什么?

场外期权交易的核心在于双方协商一致的合约条款。这些条款包括但不限于期权的类型&#xff08;看涨或看跌&#xff09;、执行价格、到期日、合约规模以及支付的期权费。由于每份合约都是独一无二的&#xff0c;因此交易双方需要具备高度的专业知识和谈判技巧&#xff0c;下文为…...

自注意力的机制内涵和设计逻辑

在自注意力机制中&#xff0c;查询&#xff08;Q&#xff09;、键&#xff08;K&#xff09;和值&#xff08;V&#xff09;的交互过程是核心设计&#xff0c;其背后的数学和语义内涵可以从以下角度理解&#xff1a; 1. 数学视角&#xff1a;动态加权聚合 自注意力机制的公式可…...

VIM学习笔记

1. ex模式 vim中&#xff0c;按&#xff1a;触发的命令行模式&#xff0c;称为 ex模式&#xff0c;具体命令参见如下笔记&#xff1a; https://blog.csdn.net/u010250151/article/details/51868751?ops_request_misc%257B%2522request%255Fid%2522%253A%2522814b671a9898c95…...

Windows系统docker desktop安装(学习记录)

目前在学习docker&#xff0c;在网上扒了很多老师的教程&#xff0c;终于装好了&#xff0c;于是决定再装一遍做个记录&#xff0c;省的以后再这么麻烦 一&#xff1a;什么是docker Docker 是一个开源的应用容器引擎&#xff0c;它可以让开发者打包他们的应用以及依赖包到一个…...

操作系统学习笔记——[特殊字符]超详细 | 如何唤醒被阻塞的 socket 线程?线程阻塞原理、线程池、fork/vfork彻底讲明白!

&#x1f4a1;超详细 | 如何唤醒被阻塞的 socket 线程&#xff1f;线程阻塞原理、线程池、fork/vfork彻底讲明白&#xff01; 一、什么是阻塞&#xff1f;为什么线程会阻塞&#xff1f;二、socket线程被阻塞的典型场景&#x1f9e0; 解法思路&#xff1a; 三、线程的几种阻塞状…...

GIC驱动程序对中断的处理流程

承接上一篇&#xff0c;我们来讲讲GIC的处理流程&#xff1a; 我们先来看看老版本的CPU是怎么去处理中断的&#xff1a; 这种的话&#xff0c;基本上就是一开始就确定你有多少个中断&#xff0c;就为你分配好了多少个irq_desc&#xff0c;这样子每一个硬件中断&#xff0c;也就…...

罗庚机器人:机器人打磨领域的先行者

近日&#xff0c;记者在广东罗庚机器人有限公司&#xff08;以下简称罗庚机器人&#xff09;总经理蒲小平处了解到&#xff0c;该公司是一家研发与为客户提供高精度自适应机器人打磨抛光集成工艺的高科技企业&#xff0c;是机器人打磨领域的先行者。在国内外机器人打磨抛光应用…...

如何在 Java 中对 PDF 文件进行数字签名(教程)

Java 本身并不原生支持 PDF 文件&#xff0c;因此若要对 PDF 进行数字签名&#xff0c;您需要使用一些专用的软件。本教程将演示如何使用 JPedal PDF 库来对 PDF 文件进行数字签名。 步骤&#xff1a; • 下载 JPedal 并将 Jar 文件添加到项目中 • 创建一个 PKCS#12 密…...

一文了解:北斗短报文终端是什么,有哪些应用场景?

在通信技术飞速发展的今天&#xff0c;人们已习惯于依赖地面基站和互联网实现即时通信。然而&#xff0c;当自然灾害突发、远洋航行遇险或深入无人区勘探时&#xff0c;传统通信手段往往失效。北斗短报文终端——这一由中国自主研发的卫星通信技术&#xff0c;正以“无网络通信…...

【KWDB创作者计划】_KWDB应用之实战案例

【KWDB 2025 创作者计划】_KWDB应用之实战案例 本文是在完成KWDB数据库安装的情况下的操作篇&#xff0c;关于KWDB的介绍与安装部署&#xff0c;可以查看上一篇博客: https://blog.itpub.net/70045384/viewspace-3081187/ https://blog.csdn.net/m0_38139250/article/details/…...

JavaScript中的运算符与语句:深入理解编程的基础构建块

# JavaScript中的运算符与语句&#xff1a;深入理解编程的基础构建块 在JavaScript编程的世界里&#xff0c;运算符和语句就像是构建大厦的基石&#xff0c;它们是编写高效、灵活代码的基础。今天&#xff0c;我们就来深入了解一下这些重要的元素。 ## 一、运算符&#xff1a;…...

MySQL——学习InnoDB(1)

MySQL——学习InnoDB&#xff08;1&#xff09; 文章目录 MySQL——学习InnoDB&#xff08;1&#xff09;1. InnoDB的前世今生1.1 诞生发展1.2 核心设计1.3 关键进化 2. InnoDB和MyISAM在性能和安全上的区别2.1 性能对比2.2 安全对比 3. InnoDB架构图&#xff08;内存结构磁盘结…...

QT中多线程写法

转自个人博客&#xff1a;QT中多线程写法 1. QThread及moveToThread() 使用情况&#xff1a; 多使用于需要将有着复杂逻辑或需要一直占用并运行的类放入子线程中执行的情况&#xff0c;moveToThread是将整个类的对象移入子线程。 优缺点&#xff1a; 优点&#xff1a;更符合…...

css 二维码始终显示在按钮的正下方,并且根据不同的屏幕分辨率自动调整位置

一、需求 “求职入口” 下面的浮窗位置在其正下方&#xff0c;并且浏览器分辨的改变&#xff08;拖动浏览器&#xff09;&#xff0c;位置依旧在最下方 二、实现 <div class"btn_box"><div class"btn_link id"js-apply">求职入口<di…...

STM32 认识STM32

目录 什么是嵌入式&#xff1f; 认识STM32单片机 开发环境安装 安装开发环境 开发板资源介绍 单片机开发模式 创建工程的方式 烧录STM32程序 什么是嵌入式&#xff1f; 1.智能手环项目 主要功能有&#xff1a; 彩色触摸屏 显示时间 健康信息&#xff1a;心率&#…...

关于 CSDN的C知道功能模块 的详细解析,包括 新增的AI搜索(可选深度思考) 和 智能体功能 的具体说明及对比分析

以下是关于 CSDN的C知道功能模块 的详细解析&#xff0c;包括 新增的AI搜索&#xff08;可选深度思考&#xff09; 和 智能体功能 的具体说明及对比分析&#xff1a; 一、C知道核心功能模块详解&#xff08;基础功能&#xff09; &#xff08;参考前文内容&#xff0c;此处略…...

Vue--组件练习案例

图片轮播案例&#xff1a; <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><title>Title</title></head><body><!--轮播图片--><div id"app"><h1>轮播图</h1…...

Sentinel源码—1.使用演示和简介一

大纲 1.Sentinel流量治理框架简介 2.Sentinel源码编译及Demo演示 3.Dashboard功能介绍 4.流控规则使用演示 5.熔断规则使用演示 6.热点规则使用演示 7.授权规则使用演示 8.系统规则使用演示 9.集群流控使用演示 1.Sentinel流量治理框架简介 (1)与Sentinel相关的问题 …...

空间信息可视化——WebGIS前端实例(二)

技术栈&#xff1a;原生HTML 源代码&#xff1a;CUGLin/WebGIS: This is a project of Spatial information visualization 5 水质情况实时监测预警系统 5.1 系统设计思想 水安全是涉及国家长治久安的大事。多年来&#xff0c;为相应国家战略&#xff0c;诸多地理信息领域的…...

高并发内存池(前言介绍)

高并发内存池项目介绍 1.项目介绍2.项目的知识储备要求3.了解池化技术及内存池4.本次项目中内存池解决的问题5.malloc 1.项目介绍 此项目是实现一个高并发的内存池&#xff0c;它的原型是google的一个开源项目tcmalloc&#xff0c;tcmalloc全程Thread-Caching Malloc&#xff…...

误译、值对象和DDD伪创新-《分析模式》漫谈56

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 “Analysis Patterns”的第14章“类型模型设计模板模式”原文&#xff1a; Examples of such object types are the classic built-in data types of programming environments: inte…...

Java单例模式:实现全局唯一对象的艺术

精心整理了最新的面试资料和简历模板&#xff0c;有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 一、什么是单例模式&#xff1f; 单例模式&#xff08;Singleton Pattern&#xff09;是一种创建型设计模式&#xff0c;确保一个类只有一个实例&#xff0c…...

机器学习项目二:帕金森病检测

目录 下载数据 一、导入相关包 二、数据加载 三、特征工程 四、构建模型 五、评估与可视化 六、程序流程 七、完整代码 一、导入相关包 # 导入库部分 import numpy as np # 数值计算基础库 import pandas as pd # 数据处理库 from sklearn.preprocessing import MinMaxS…...

FreeDogs:AI、区块链与迷因文化的深度融合

引言 在 Web3 时代&#xff0c;人工智能&#xff08;AI&#xff09;、区块链技术和迷因文化的结合催生了一种全新的去中心化生态系统。FreeDogs 项目作为这一领域的创新代表&#xff0c;通过独特的技术与文化融合模式迅速受到关注。它利用 AI 驱动的智能营销网络推动迷因文化的…...

《组合优于继承:构建高内聚低耦合模块的最佳实践》

《组合优于继承:构建高内聚低耦合模块的最佳实践》 一、引言:编程范式中的选择 在软件设计中,继承和组合是两个重要的设计模式。继承(Inheritance)常被用来实现代码复用,但滥用继承容易导致脆弱的类层次结构,增加耦合度和维护成本。而组合(Composition)通过将功能分解…...

机器学习02——RNN

一、RNN的基本概念 定义 循环神经网络&#xff08;Recurrent Neural Network&#xff0c;RNN&#xff09;是一种用于处理序列数据的神经网络架构。它与传统的前馈神经网络&#xff08;如多层感知机&#xff09;不同&#xff0c;RNN具有“记忆”功能&#xff0c;能够利用前一时…...

Java基础——面试自我总结

1、String类中常用方法和equals区别 答&#xff1a;对于和equals这两个都是用来比较判断是否相等&#xff0c;其中用来判断两个变量的值是否相等&#xff0c;变量的值的类型分为基本数据类型和引用数据类型。对于&#xff0c;基本数据类型是直接进行值比较&#xff0c;而对于引…...

低功耗设计:Level Shift的种类(以SAED EDK 32/28nm工艺库为例)

在多电压设计中&#xff0c;当信号从一个电压域跨越到另一个电压域时&#xff0c;需要使用电压转换器(Level Shift)。它的工作方式类似于缓冲器&#xff0c;但其输入和输出使用不同的电压&#xff0c;作用是将一个逻辑信号从一个电压转换为另一个电压&#xff0c;并在输入到输出…...

UE5 Chaos :渲染网格体 (Render Mesh) 和模拟网格体 是如何关联的?为什么模拟网格体 可以驱动渲染网格体?

官方文献&#xff1a;https://dev.epicgames.com/community/learning/tutorials/pv7x/unreal-engine-panel-cloth-editor 这背后的核心是一种常见的计算机图形学技术&#xff0c;通常称为代理绑定 (Proxy Binding) 或 表面变形传递 (Surface Deformation Transfer)。 关联机制…...

Fiddler为什么可以看到一次HTTP请求数据?

1、作为代理服务器 Fiddler作为代理服务器&#xff0c;拦截了设备与互联网服务器之间的所有HTTP和HTTPS流量。当客户端&#xff08;如浏览器&#xff09;发送请求时&#xff0c;请求先到达Fiddler&#xff0c;然后由Fiddler转发到目标服务器&#xff1b;服务器的响应也会返回给…...

RAG(Retrieval-Augmented Generation)召回算法是检索增强生成模型中的关键组件

RAG&#xff08;Retrieval-Augmented Generation&#xff09;召回算法是检索增强生成模型中的关键组件&#xff0c;其核心目标是从大规模文档库中高效检索与输入查询相关的信息&#xff0c;以辅助生成模型产生更准确的回答。以下是该算法的关键点解析&#xff1a; ### 1. **核…...

[NOIP 2003 普及组] 栈 Java

import java.io.*;public class Main {public static void main(String[] args) throws IOException {BufferedReader br new BufferedReader(new InputStreamReader(System.in));int n Integer.parseInt(br.readLine());int[] dp new int[n 1];dp[0] 1; // 空序列只有一种…...

5.5 GitHub数据秒级分析核心揭秘:三层提示工程架构设计解析

GitHub Sentinel Agent 分析报告功能设计与实现 关键词:GitHub 数据分析, 提示工程设计, Pull Request 分析, Issues 跟踪, 竞品对比 项目进展报告生成功能设计 报告生成模块是 GitHub Sentinel 的核心功能,通过三层嵌套式提示工程架构实现深度分析: #mermaid-svg-vdHRUan…...

PE文件(十五)绑定导入表

我们在分析Windows自带的一些程序时&#xff0c;常常发现有的程序&#xff0c;如notepad&#xff0c;他的IAT表在文件加载内存前已经完成绑定&#xff0c;存储了函数的地址。这样做可以使得程序是无需修改IAT表而直接启动&#xff0c;这时程序启动速度变快。但这种方式只适用于…...

如何快速部署基于Docker 的 OBDIAG 开发环境

很多开发者对 OceanBase的 SIG社区小组很有兴趣&#xff0c;但如何将OceanBase的各类工具部署在开发环境&#xff0c;对于不少开发者而言都是比较蛮烦的事情。例如&#xff0c;像OBDIAG&#xff0c;其在WINDOWS系统上配置较繁琐&#xff0c;需要单独搭建C开发环境。此外&#x…...

Multimodal-CoT与MCP的融合医疗AI编程路线探析

引言 在医疗AI领域,多模态数据融合与模块化系统设计是提升诊断精度和临床实用性的关键。Multimodal Chain-of-Thought(Multimodal-CoT)通过构建多源数据的推理链增强决策透明度,而Model Context Protocol(MCP)作为标准化接口协议,为AI系统提供灵活的数据源集成能力。两…...

基于单片机的智能养生油炸炉系统设计与实现

标题:基于单片机的智能养生油炸炉系统设计与实现 内容:1.摘要 本文针对传统油炸炉功能单一、无法满足现代养生需求的问题&#xff0c;设计并实现了基于单片机的智能养生油炸炉系统。通过采用STC89C52单片机作为控制核心&#xff0c;结合温度传感器、液位传感器、继电器等硬件&…...

MySQL流程控制

一&#xff1a;介绍 在 MySQL 中&#xff0c;流程控制语句用于控制存储过程和自定义函数中的程序流程。主要的流程控制语句包括&#xff1a;IF 语句、CASE 语句、LOOP 语句、LEAVE 语句、ITERATE 语句、REPEAT 语句和 WHILE 语句 &#xff08;1&#xff09;&#xff1a;if条件…...

在思科模拟器show IP route 发现Gateway of last resort is not set没有设置最后的通道

如果在show ip route的时候出现没有设置最后的通道Gateway of last resort is not set Switch#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA exte…...

Java雪花算法

以下是用Java实现的雪花算法代码示例&#xff0c;包含详细注释和异常处理&#xff1a; 代码下面有解析 public class SnowflakeIdGenerator {// 起始时间戳&#xff08;2020-01-01 00:00:00&#xff09;private static final long START_TIMESTAMP 1577836800000L;// 各部分…...

【中大厂面试题】TCP 校招 java 后端最新面试题

TCL&#xff08;一面&#xff09; 1. Spring 初始化Bean前要做什么&#xff1f;有几种方式 在 Spring 容器调用 Bean 的初始化方法&#xff08;如 init-method、PostConstruct 等&#xff09;之前&#xff0c;会按顺序完成以下关键步骤&#xff1a;实例化 → 属性注入 → Aw…...