PyQt5 菜单与工具栏开发实战:状态栏、菜单栏、工具栏与主窗口完整指南(PyQt-Chinese-tutorial)
文档教程【免费下载链接】PyQt-Chinese-tutorialPyQt6中文教程项目地址https://gitcode.com/gh_mirrors/py/PyQt-Chinese-tutorial点击查看免费下载本章是 PyQt-Chinese-tutorial 教程中讲解 GUI 应用骨架的核心章节。你将基于QMainWindow依次创建状态栏statusbar、菜单栏menubar、工具栏toolbar与右键菜单并通过一个综合示例把三者组合成经典的桌面应用主窗口。读完本文你可以独立搭建带完整命令体系菜单 快捷键 状态提示的 PyQt5 应用外壳并理解QAction在菜单与工具栏之间复用的机制。本文主体内容对应仓库中的 原始英文文档 及其 中文翻译版同时结合仓库内 PyQt6 版本章节 进行对比说明帮助你同时掌握两代 API 的差异。本章结构总览QMainWindow 主窗口QMainWindow类提供了主应用程序窗口的功能借助它可以创建经典的应用骨架包含状态栏statusbar、工具栏toolbars和菜单栏menubar。菜单Menu位于菜单栏中的一组命令工具栏Toolbar集中放置应用中高频使用的常用命令按钮状态栏Statusbar显示状态信息通常位于应用窗口的底部。本章后续的示例按从简到繁组织先单独创建状态栏再逐步加入菜单栏、子菜单、勾选菜单、右键菜单与工具栏最后将所有元素整合进一个主窗口。除综合示例外每个示例都是一个可直接运行的独立.py文件在安装了 PyQt5 的 Python 3 环境下用python3 文件名.py即可运行本章所有代码均继承自 ZetCode 教程且在 Linux 上测试通过详见 教程介绍。状态栏Statusbar状态栏是用于显示应用状态信息的组件例如就绪、进度提示、鼠标悬停时的说明文字等。在 PyQt5 中状态栏由QMainWindow自动创建并管理。完整的statusbar.py示例如下#!/usr/bin/python3 # -*- coding: utf-8 -*- ZetCode PyQt5 tutorial This program creates a statusbar. Author: Jan Bodnar Website: zetcode.com Last edited: August 2017 import sys from PyQt5.QtWidgets import QMainWindow, QApplication class Example(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): self.statusBar().showMessage(Ready) self.setGeometry(300, 300, 250, 150) self.setWindowTitle(Statusbar) self.show() if __name__ __main__: app QApplication(sys.argv) ex Example() sys.exit(app.exec_())statusBar() 与 showMessage()状态栏由QMainWindow创建核心代码只有一行self.statusBar().showMessage(Ready)调用QMainWindow类的statusBar()方法即可获取状态栏。第一次调用会创建状态栏后续调用则返回同一个状态栏对象因此你可以在任意位置持有它showMessage()方法用于在状态栏上显示一条消息例如示例中的Ready就绪。需要说明的是原始教程正文中把statusBar()归到QtGui.QMainWindow但按照当前代码的实际导入方式from PyQt5.QtWidgets import QMainWindow在 PyQt5 中QMainWindow位于PyQt5.QtWidgets模块statusBar()是其实例方法使用时以代码为准。程序运行效果状态栏位于窗口底部显示 Ready补充状态栏的常用能力从QMainWindow的用法出发状态栏还有几个实用方法值得了解showMessage(text, timeout0)在状态栏上显示临时消息第二个参数可指定显示时长毫秒超时后自动清除clearMessage()立即清除当前显示的消息addWidget(widget)/addPermanentWidget(widget)把自定义控件如进度条、标签加入状态栏后者固定在右端常驻区域。菜单栏与简单菜单Simple menu菜单栏是 GUI 应用最常见的组成部分是位于各种菜单中的一组命令。注意Mac OS 对菜单栏的处理方式不同若想在 Mac 上得到与其他平台一致的外观可以在创建菜单栏后追加一行menubar.setNativeMenuBar(False)完整的simplemenu.py示例如下#!/usr/bin/python3 # -*- coding: utf-8 -*- ZetCode PyQt5 tutorial This program creates a menubar. The menubar has one menu with an exit action. Author: Jan Bodnar Website: zetcode.com Last edited: January 2017 import sys from PyQt5.QtWidgets import QMainWindow, QAction, qApp, QApplication from PyQt5.QtGui import QIcon class Example(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): exitAct QAction(QIcon(exit.png), Exit, self) exitAct.setShortcut(CtrlQ) exitAct.setStatusTip(Exit application) exitAct.triggered.connect(qApp.quit) self.statusBar() menubar self.menuBar() fileMenu menubar.addMenu(File) fileMenu.addAction(exitAct) self.setGeometry(300, 300, 300, 200) self.setWindowTitle(Simple menu) self.show() if __name__ __main__: app QApplication(sys.argv) ex Example() sys.exit(app.exec_())运行后窗口顶部出现一个 File 菜单内含 Exit 项窗口底部同时创建了状态栏。选中 Exit 或按下CtrlQ即可退出应用。QAction菜单、工具栏、快捷键的统一抽象exitAct QAction(QIcon(exit.png), Exit, self) exitAct.setShortcut(CtrlQ) exitAct.setStatusTip(Exit application)QAction是对动作的抽象一个动作可以被菜单栏、工具栏或自定义键盘快捷键触发。以上三行分别做了三件事创建动作传入图标QIcon(exit.png)、标签文本Exit与父对象self。标签中的字符表示其后字母E为该菜单项的快捷键助记符在界面上通常显示为带下划线的 E定义快捷键setShortcut(CtrlQ)让该动作可以通过键盘直接触发创建状态提示setStatusTip(Exit application)——当鼠标悬停在该菜单项上时状态栏会显示这段提示文字这也是前面示例中要先调用self.statusBar()的原因。注意示例中使用的exit.png图标需要与脚本放在同一目录下请自行准备一个小图标文件若找不到该文件程序不会崩溃但菜单项会显示为无图标状态。信号连接triggered → qApp.quitexitAct.triggered.connect(qApp.quit)当选中这个动作时QAction会发出triggered信号。该信号被连接到QApplicationqApp是全局应用对象的便捷引用的quit()方法从而终止应用。这正是 PyQt5 的信号与槽signal slot机制在菜单场景中的典型应用关于事件与信号的深入讲解可参见 事件和信号。菜单栏的组装menubar self.menuBar() fileMenu menubar.addMenu(File) fileMenu.addAction(exitAct)menuBar()方法创建或返回已有的菜单栏addMenu(File)在菜单栏上添加一个名为 File 的菜单addAction(exitAct)把前面定义的退出动作加入该菜单。子菜单Submenu子菜单是嵌套在另一个菜单内部的菜单适合组织分层命令。完整示例submenu.py#!/usr/bin/python3 # -*- coding: utf-8 -*- ZetCode PyQt5 tutorial This program creates a submenu. Author: Jan Bodnar Website: zetcode.com Last edited: August 2017 import sys from PyQt5.QtWidgets import QMainWindow, QAction, QMenu, QApplication class Example(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): menubar self.menuBar() fileMenu menubar.addMenu(File) impMenu QMenu(Import, self) impAct QAction(Import mail, self) impMenu.addAction(impAct) newAct QAction(New, self) fileMenu.addAction(newAct) fileMenu.addMenu(impMenu) self.setGeometry(300, 300, 300, 200) self.setWindowTitle(Submenu) self.show() if __name__ __main__: app QApplication(sys.argv) ex Example() sys.exit(app.exec_())这个示例中有两个菜单项New直接位于 File 菜单下Import mail位于 File 的 Import 子菜单中。关键代码拆解impMenu QMenu(Import, self)使用QMenu构造一个新的子菜单对象标题为 ImportimpAct QAction(Import mail, self) impMenu.addAction(impAct)创建一个动作并用addAction()把它加入子菜单fileMenu.addAction(newAct) fileMenu.addMenu(impMenu)最后通过addAction()把普通菜单项加入 File 菜单通过addMenu()把整个子菜单嵌入 File 菜单。运行后点击 File将看到 New 与带右箭头展开的 Import 子菜单效果如下勾选菜单Check menu勾选菜单项带有复选标记可以切换选中/未选中状态常用于表示开关型选项如显示/隐藏某个面板。完整示例checkmenu.py#!/usr/bin/python3 # -*- coding: utf-8 -*- ZetCode PyQt5 tutorial This program creates a checkable menu. Author: Jan Bodnar Website: zetcode.com Last edited: August 2017 import sys from PyQt5.QtWidgets import QMainWindow, QAction, QApplication class Example(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): self.statusbar self.statusBar() self.statusbar.showMessage(Ready) menubar self.menuBar() viewMenu menubar.addMenu(View) viewStatAct QAction(View statusbar, self, checkableTrue) viewStatAct.setStatusTip(View statusbar) viewStatAct.setChecked(True) viewStatAct.triggered.connect(self.toggleMenu) viewMenu.addAction(viewStatAct) self.setGeometry(300, 300, 300, 200) self.setWindowTitle(Check menu) self.show() def toggleMenu(self, state): if state: self.statusbar.show() else: self.statusbar.hide() if __name__ __main__: app QApplication(sys.argv) ex Example() sys.exit(app.exec_())本例创建了一个 View 菜单其中只有一个动作 View statusbar用来显示或隐藏状态栏当状态栏可见时菜单项呈勾选状态。关键点解析viewStatAct QAction(View statusbar, self, checkableTrue)通过checkableTrue参数创建可勾选的动作菜单项。viewStatAct.setChecked(True)由于程序启动时状态栏是可见的所以用setChecked(True)让菜单项默认处于勾选状态。def toggleMenu(self, state): if state: self.statusbar.show() else: self.statusbar.hide()triggered信号会携带当前勾选状态布尔值state作为参数传给槽函数toggleMenu据此调用show()或hide()切换状态栏。运行效果右键菜单 / 上下文菜单Context menu上下文菜单context menu也叫弹出菜单是在特定场景下出现的命令列表。例如在浏览器网页上右键单击会出现刷新、返回、查看页面源代码等命令在工具栏上右键则会得到管理工具栏的菜单。完整示例contextmenu.py#!/usr/bin/python3 # -*- coding: utf-8 -*- ZetCode PyQt5 tutorial This program creates a context menu. Author: Jan Bodnar Website: zetcode.com Last edited: August 2017 import sys from PyQt5.QtWidgets import QMainWindow, qApp, QMenu, QApplication class Example(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(300, 300, 300, 200) self.setWindowTitle(Context menu) self.show() def contextMenuEvent(self, event): cmenu QMenu(self) newAct cmenu.addAction(New) opnAct cmenu.addAction(Open) quitAct cmenu.addAction(Quit) action cmenu.exec_(self.mapToGlobal(event.pos())) if action quitAct: qApp.quit() if __name__ __main__: app QApplication(sys.argv) ex Example() sys.exit(app.exec_())要使用右键菜单必须重写contextMenuEvent()方法——每当在窗口内右键单击时Qt 会向窗口派发QContextMenuEvent该方法随即被调用。action cmenu.exec_(self.mapToGlobal(event.pos()))event.pos()从事件对象中取得鼠标指针在窗口内的坐标mapToGlobal()把窗口内的相对坐标转换为屏幕的全局坐标因为弹出菜单需要定位在屏幕坐标系中exec_()以模态方式显示菜单并阻塞直到用户选择一项或关闭菜单返回被选中的QAction若用户点了空白处则返回None。if action quitAct: qApp.quit()如果返回的动作恰好是quitAct就调用qApp.quit()终止应用。注意这里同样出现了exec_()这种带下划线的命名——因为exec是 Python 的关键字PyQt5 中沿用exec_()而 PyQt6 中已恢复为exec()详见文末对比。运行效果在窗口任意空白处右键弹出包含 New / Open / Quit 三项的悬浮菜单工具栏Toolbar菜单把所有命令归类收纳而工具栏为最常用的命令提供一键直达的快捷入口。完整示例toolbar.py#!/usr/bin/python3 # -*- coding: utf-8 -*- ZetCode PyQt5 tutorial This program creates a toolbar. The toolbar has one action, which terminates the application, if triggered. Author: Jan Bodnar Website: zetcode.com Last edited: August 2017 import sys from PyQt5.QtWidgets import QMainWindow, QAction, qApp, QApplication from PyQt5.QtGui import QIcon class Example(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): exitAct QAction(QIcon(exit24.png), Exit, self) exitAct.setShortcut(CtrlQ) exitAct.triggered.connect(qApp.quit) self.toolbar self.addToolBar(Exit) self.toolbar.addAction(exitAct) self.setGeometry(300, 300, 300, 200) self.setWindowTitle(Toolbar) self.show() if __name__ __main__: app QApplication(sys.argv) ex Example() sys.exit(app.exec_())示例创建了一个只含一个退出动作的工具栏点击该按钮或按CtrlQ即退出应用。代码拆解exitAct QAction(QIcon(exit24.png), Exit, self) exitAct.setShortcut(CtrlQ) exitAct.triggered.connect(qApp.quit)与菜单示例相似这里创建了一个带图标exit24.png、标签与快捷键的动作对象并把triggered信号连接到qApp.quit()。这说明同一个QAction可以同时出现在菜单和工具栏中——这正是综合示例中动作复用的基础。self.toolbar self.addToolBar(Exit) self.toolbar.addAction(exitAct)addToolBar(Exit)创建工具栏字符串参数是该工具栏的标题用于工具栏右键菜单中的显示/隐藏管理addAction()把动作加入工具栏。运行效果窗口顶部出现工具栏区域内含退出按钮综合示例经典主窗口骨架Putting it together最后把前面所有元素整合进一个应用同时创建菜单栏、工具栏、状态栏并加入中央部件central widget。完整示例mainwindow.py#!/usr/bin/python3 # -*- coding: utf-8 -*- ZetCode PyQt5 tutorial This program creates a skeleton of a classic GUI application with a menubar, toolbar, statusbar, and a central widget. Author: Jan Bodnar Website: zetcode.com Last edited: August 2017 import sys from PyQt5.QtWidgets import QMainWindow, QTextEdit, QAction, QApplication from PyQt5.QtGui import QIcon class Example(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): textEdit QTextEdit() self.setCentralWidget(textEdit) exitAct QAction(QIcon(exit24.png), Exit, self) exitAct.setShortcut(CtrlQ) exitAct.setStatusTip(Exit application) exitAct.triggered.connect(self.close) self.statusBar() menubar self.menuBar() fileMenu menubar.addMenu(File) fileMenu.addAction(exitAct) toolbar self.addToolBar(Exit) toolbar.addAction(exitAct) self.setGeometry(300, 300, 350, 250) self.setWindowTitle(Main window) self.show() if __name__ __main__: app QApplication(sys.argv) ex Example() sys.exit(app.exec_())运行前提示翻译版教程特别说明需要先自备一个小图标文件并命名为exit24.png放在脚本同目录否则图标位置为空。这个示例打造了经典 GUI 应用的完整骨架菜单栏File → Exit、工具栏Exit 按钮、状态栏悬停菜单项时显示 Exit application 提示以及中央编辑区。注意此处triggered信号连接的是self.close关闭当前主窗口效果与应用退出一致。textEdit QTextEdit() self.setCentralWidget(textEdit)这里创建了一个文本编辑控件并通过setCentralWidget()将其设置为主窗口的中央部件。中央部件会占据菜单栏、工具栏、状态栏之外的全部剩余空间是QMainWindow布局模型的关键周边区域菜单栏、工具栏、状态栏、停靠区加上中央部件共同构成主窗口的布局体系。运行效果如下源码级延伸从仓库理解本章并对比 PyQt6本章在仓库中的位置原始英文版original/pyqt5/菜单和工具栏.md中文翻译版translated/pyqt5/cai-dan-he-gong-ju-lan.md翻译版补充了每个示例的运行截图与exit24.png准备提示并新增了右键菜单、子菜单、勾选菜单的配图PyQt6 原始版original/pyqt6/menustoolbars.md 与 中文翻译版。本章在教程体系中处于界面骨架的位置入门章节 firstprograms中文hello_world 讲解了窗口、图标、消息框与信号槽基础而本章在此基础上引入QAction、菜单与工具栏后续 事件和信号、布局管理 等章节会继续深化事件处理与部件组织。PyQt5 与 PyQt6 的 API 差异本章相关仓库同时维护了 PyQt5 与 PyQt6 两套教程本章相关代码在 PyQt6 中主要有四处变化便于你迁移导入模块变化QAction从PyQt5.QtWidgets移到PyQt6.QtGui例如from PyQt6.QtGui import QIcon, QAction退出连接方式变化PyQt6 示例使用exitAct.triggered.connect(QApplication.instance().quit)不再使用qApp快捷对象事件循环方法更名PyQt5 的app.exec_()在 PyQt6 中为app.exec()exec已不再与 Python 关键字冲突右键菜单同理cmenu.exec_(...)变为cmenu.exec(...)主入口结构PyQt6 示例通常把启动逻辑封装进main()函数。这些差异均可在 PyQt6 菜单与工具栏章节 的完整代码中逐一核对。本章沉淀的可复用知识点QMainWindow是经典桌面应用骨架的基类自带菜单栏、工具栏、状态栏与停靠区管理QAction是动作的一等公民同一个动作可以同时放入菜单与工具栏并统一携带图标、快捷键、状态提示与triggered信号这是综合示例中最值得复用的设计信号与槽贯穿所有交互triggered、clicked等信号 槽函数qApp.quit、self.close、自定义toggleMenu构成了菜单/工具栏的行为逻辑右键菜单需要重写contextMenuEvent并通过mapToGlobal将窗口坐标转为屏幕坐标后由exec_()弹出。小结本章从零构建了 PyQt5 桌面应用的界面骨架状态栏负责信息反馈菜单栏与子菜单组织全部命令勾选菜单表达开关状态右键菜单提供上下文操作工具栏承载高频命令最后用QMainWindow 中央部件把它们整合为一个完整的经典主窗口。掌握了QMainWindow与QAction这对核心组合你就具备了搭建绝大多数桌面工具类应用外壳的能力可以在此基础上继续学习 布局管理、事件和信号 与 控件 等章节逐步充实主窗口内部的内容。赞分享文档教程【免费下载链接】PyQt-Chinese-tutorialPyQt6中文教程项目地址https://gitcode.com/gh_mirrors/py/PyQt-Chinese-tutorial点击查看免费下载相关推荐Dear PyGui 菜单系统完全指南Viewport 菜单栏、窗口菜单栏与菜单项实战Dear PyGui 菜单系统完全指南Viewport 菜单栏、窗口菜单栏与菜单项实战 本指南以 Dear PyGui 官方文档 menus.rst http桌面应用UI组件PyQt6 中文教程菜单、工具栏与主窗口的完整实战指南PyQt6 中文教程菜单、工具栏与主窗口的完整实战指南 本教程基于仓库 translated/pyqt6/menustoolbars.md https://l文档教程PyQt状态栏与工具栏QStatusBar与QToolBar完整使用指南PyQt状态栏与工具栏QStatusBar与QToolBar完整使用指南 PyQt状态栏和工具栏是桌面应用开发中不可或缺的重要组件它们为用户提供了直观的操作上一篇Vigil性能调优监控大规模微服务集群的5个关键指标下一篇GitHub Actions Cache终极指南Node.js、Python、Java、Go多语言项目加速秘籍创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

STM32驱动MRAM MR25H40CDF:工业设备掉电保存的高可靠实践

STM32驱动MRAM MR25H40CDF:工业设备掉电保存的高可靠实践

这几年我做的几个工控小项目里,掉电保存这件事一直躲不开。数控机床的刀具补偿参数、伺服驱动器的 PID 整定值、生产线传感器的标定系数,这些数据既要随时改,又不能在掉电时丢。最开始大家图省事直接用 SPI Flash,后来发现某些参数…

2026/10/4 10:55:30 阅读更多 →
工业存储选型:用MRAM替代EEPROM和Flash的PIC18F4620方案详解

工业存储选型:用MRAM替代EEPROM和Flash的PIC18F4620方案详解

现场设备第三次因为电池掉电被人叫去维护时,我开始认真考虑换掉电池供电的SRAM。最后定下来的方案是两颗芯片:存储用 Everspin 的 MR25H40CDF,这是一颗 4Mbit 的 SPI 接口 MRAM;主控用 Microchip 的 PIC18F4620,用内置…

2026/10/4 10:55:30 阅读更多 →
Vue3电子签名组件实战:从Canvas原理到前后端对接

Vue3电子签名组件实战:从Canvas原理到前后端对接

电子签名这个需求,在Vue项目里出现的频率比我预想的高得多。最早我是在一个审批系统里接到这个任务,当时第一反应是直接找一个开源的签名组件,但搜来搜去,要么是React版,要么是jQuery时代的老古董,勉强能用…

2026/10/4 10:54:29 阅读更多 →

最新新闻

自动扶梯智能监控系统:AI图像识别与功能安全实战解析

自动扶梯智能监控系统:AI图像识别与功能安全实战解析

扶梯旁边贴满了“请站稳扶好”,但真正能管住乘客行为的,从来不是标语。去年我开始做自动扶梯智能监控系统,第一个要回答的问题是:AI图像识别到底能在这个场景里解决什么。传统机械安全回路能在故障发生后触发制动,却没…

2026/10/4 12:55:24 阅读更多 →
AI产物如何沉淀复用?WorkBuddy资料库实现工作流原生知识固化

AI产物如何沉淀复用?WorkBuddy资料库实现工作流原生知识固化

1. 为什么“AI产物”长期处于“用完即弃”的尴尬状态?“WorkBuddy资料库:AI产物终于能沉淀下来了”——这个标题里藏着一个被无数人默认接受、却从未被系统解决的行业隐痛:我们每天用ChatGPT、Claude、Kimi生成的会议纪要、周报草稿、技术方案…

2026/10/4 12:55:24 阅读更多 →
SolidWorks VBA配合开发:装配引擎原理与鲁棒实现方案

SolidWorks VBA配合开发:装配引擎原理与鲁棒实现方案

1. 项目概述:SolidWorks VBA二次开发中“配合”功能的深度实践困境SolidWorks VBA二次开发配合问题——这七个字背后,藏着至少三类工程师的真实焦灼:机械设计工程师想批量创建装配约束却卡在AddMate3返回-1;自动化产线仿真工程师试…

2026/10/4 12:55:24 阅读更多 →
限定领域与开放领域三元组抽取:技术路线与实战指南

限定领域与开放领域三元组抽取:技术路线与实战指南

做知识图谱的人,八成都被非结构化文本喂数据这件事折磨过。数据库里一堆表格好歹能映射,但扔过来几百篇新闻稿、病历描述、法院文书,你能做的第一件事,就是把里面的实体和关系捞出来,整理成 (头实体, 关系, 尾实体) 这…

2026/10/4 12:55:24 阅读更多 →
AI工程从零到落地:大模型应用开发的核心方法与实战指南

AI工程从零到落地:大模型应用开发的核心方法与实战指南

我刚入行那两年,总被一个问题卡住:AI 项目到底该怎么“认真”地做下去?模型会调参、会写 prompt,可一旦要落地成产品,就发现以前那套零散的技能完全不够用。数据、评测、接口、上下文管理、服务质量、成本控制&#xf…

2026/10/4 12:55:24 阅读更多 →
Fibocom LE270模组SDK开发实战:从环境搭建到量产踩坑记录

Fibocom LE270模组SDK开发实战:从环境搭建到量产踩坑记录

LE270-IN-1D3W6-10 这块 Fibocom 模组,我拿到手第一件事是翻 SDK 文档,而不是急着上电。原因很简单:这类无线通信模组看起来就是一块带天线的板子,实际上固件版本、SDK 版本、驱动和三方库之间的匹配关系非常敏感,任何…

2026/10/4 12:54:24 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →