“很多小伙伴都想自己开发 KiCad 插件,但不知从何入手。本文由华秋电子的另一位 KiCad 开发者波波同学撰写,分享了如何快速搭建环境,并开发一个简单的插件。”

目标
编写一个KiCad9的 GUI 插件来显示PCB对应图层。通过这个简单的示例来
了解 KiCad插件开发的过程。
具体实现需要了解Python,KiCad的Pcbnew API和wxFormbuilder。
环境准备
确保有一个适合开发KiCad插件的环境,通常意味着安装了KiCad软件,VSCode编辑器(支持python编码)和w xFormbuilder。
[VSCodeWindows (x64)下载]:
https://code.visualstudio.com/download
[wxFormbuilder下载]:
https://github.com/wxFormBuilder/wxFormBuilder/releases
使用VSCode配置 Python环境
1、 安装VSCode 后,在VSCode的应用商店(快捷键:Ctrl + Shift + X)里搜索Python插件,并安装。如下图:

2、找到KiCad9安装路径下的Python解释器,选择Python.exe。
按键盘快捷键:F1(或者Ctrl+Shift+P),在VSCode界面上方会显示命令框,在命令栏中输入"Python:Select Interpreter",然后选择"Enter interpreter path"。通过路径发现找到KiCad的Python解释器(根据自己安装的KiCad 路径找到 bin 目录下的python.exe)。
KiCad Python解释器的路径在安装路径如下:

3、检查Python环境是否配置成功。
建立一个main.py文件,输入代码。
print("Hello World!")
Vscode显示如下,界面右下方显示有Python版本(即Kicad自带的Python解释器):

点击“Python Debugger:Debuge Python File”,在 “terminal” 中出现 “Hello World!”,则表示 KiCad的Python环境配置成功。然后就可以写Python代码了。

wxformbuilder的使用(Python界面开发)
1、wxformbuilder界面基本介绍
wxFormBuilder的界面如下:

其中
-
项目树:包含所有用到的控件,布局器。通过项目树可以实现对项目布局结构的调整和编辑对象的选择。
-
控件及工具栏:提供用于图形用户界面所需要使用的各种控件和布局器。
-
工作区:可视化的图形用户界面,提供所见即所得的设计区域。
-
配置区:用于配置项目属性,控件属性,布局器属性以及需要绑定的事件处理。
-
生成代码模板区:只做展示用于生成图形用户界面的对应代码模板,实际使用中,不要随意修改。
2、wxFormBuilder创建工程。
打开wxFormBuilder,选择“File -> New Project”创建新项目。在“控件及工具栏”中选择“Forms”页面,添加一个Frame。

3、添加布局器
点击wxformbuilder上方的标签 “Layout”,并点击标签下方的第一个图标 “wxBoxSizer”。添加一个只有以列控件布局的布局器。但是窗口左边的目录树有变化了,窗体下多了一个布局器。

4、放置控件
点击wxformbuilder上方的标签“Common”,并点击标签图标 “wxStaticText” 添加控件,在“Properties”中的“label”中修改文本内容。

点击标签“Data”,并点击图标“wxDataViewListCtrl”,修改名称为“data_view_list”。这样,窗体设置上就会多出文本标签、列表框。

5、保存
Python代码。
点击选中左边树形图最上面的图标,即选中工程。修改工程属性,将name和file修改为“ui_main_frame”,选择“code_generation”标签为Python,即可出生成文件名为“ui_main_frame.py”的wxPython代码。如下图:

点击“file”标签下的 “generate code”,即生成一个GUI 界面的 Python文件。代码如下:
# -*- coding: utf-8 -*-############################################################################# Python code generated with wxFormBuilder (version 4.0.0-0-g0efcecf)## http://www.wxformbuilder.org/#### PLEASE DO *NOT* EDIT THIS FILE!###########################################################################importwximportwx.xrcimportwx.dataview############################################################################# Class UiMainFrame###########################################################################classUiMainFrame( wx.Frame ):def__init__(self, parent):wx.Frame.__init__ ( self, parent,id= wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size(500,700), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )self.SetSizeHints( wx.DefaultSize, wx.DefaultSize )bSizer3 = wx.BoxSizer( wx.VERTICAL )self.m_staticText1 = wx.StaticText( self, wx.ID_ANY,u"通过单击或双击,显示PCB中的对应层", wx.DefaultPosition, wx.DefaultSize,0)self.m_staticText1.Wrap( -1)bSizer3.Add( self.m_staticText1,0, wx.ALIGN_CENTER|wx.ALL,5)self.data_view_list = wx.dataview.DataViewListCtrl( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize,0)bSizer3.Add( self.data_view_list,1, wx.ALL|wx.EXPAND,5)self.SetSizer( bSizer3 )self.Layout()self.Centre( wx.BOTH )def__del__(self):pass
-
KiCAD
+关注
关注
5文章
313浏览量
10229 -
vscode
+关注
关注
1文章
171浏览量
9006
发布评论请先 登录
用 VSCode 编写自己的 KiCad 插件(下)
在 KiCad 中使用华秋 DFM 插件
使用VSCode下的Keil Assistant插件进行STM32开发的部分功能
KiCad7 插件大全
vscode常用插件有哪些
单片机编程vscode EIDE插件新环境
使用VSCode配合keil来编写Cortex-M程序
VSCode批量迁移插件
KiCad插件大全
在 MAC mini4 上使用 VSCode 和 Cline 插件对接 Deepseek-R1:32b 的完整指南

用VSCode编写自己的KiCad插件(上)详细步骤教程
评论