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

描述

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

KiCAD

目标

 

 

编写一个 KiCad 9 的 GUI 插件来显示 PCB 对应图层。通过这个简单的示例来

了解  KiCad 插件开发的过程。

具体实现需要了解 PythonKiCad 的 Pcbnew API 和 wxFormbuilder

 

 

环境准备

 

 

确保有一个适合开发KiCad插件的环境,通常意味着安装了 KiCad 软件,VSCode 编辑器(支持 python 编码)w xFormbuilder

 

 

[VSCode Windows (x64)下载]: 

https://code.visualstudio.com/download

 

 

[wxFormbuilder下载]:                                       
https://github.com/wxFormBuilder/wxFormBuilder/releases

使用 VSCode 配置 Python 环境

 

 

1、 安装 VSCode 后,在 VSCode 的应用商店(快捷键:Ctrl + Shift + X)里搜索 Python 插件,并安装。如下图:

 

 

KiCAD

2、找到 KiCad9 安装路径下的 Python 解释器,选择 Python.exe

 

 

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

 

 

KiCad Python解释器的路径在安装路径如下:

 

KiCAD

3、检查Python环境是否配置成功。

 

 

建立一个main.py文件,输入代码。

  •  
print("Hello World!")

Vscode显示如下,界面右下方显示有Python版本(即Kicad自带的Python解释器):

KiCAD

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

KiCAD

wxformbuilder 的使用Python 界面开发

 

 

1、wxformbuilder界面基本介绍

wxFormBuilder的界面如下:

KiCAD

其中

  • 项目树:包含所有用到的控件,布局器。通过项目树可以实现对项目布局结构的调整和编辑对象的选择。

  • 控件及工具栏:提供用于图形用户界面所需要使用的各种控件和布局器。

  • 工作区:可视化的图形用户界面,提供所见即所得的设计区域。

  • 配置区:用于配置项目属性,控件属性,布局器属性以及需要绑定的事件处理。

  • 生成代码模板区:只做展示用于生成图形用户界面的对应代码模板,实际使用中,不要随意修改。

2、wxFormBuilder创建工程。

 

 

打开wxFormBuilder,选择File -> New Project 创建新项目。在“控件及工具栏”中选择“Forms”页面,添加一个 Frame

 

 

KiCAD

3、添加布局器

 

 

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

 

 

KiCAD

4、放置控件

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

KiCAD

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

 

 

KiCAD

 

5、保存 

Python 代码。

 

 

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

点击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!###########################################################################import wximport wx.xrcimport wx.dataview############################################################################# Class UiMainFrame###########################################################################class UiMainFrame ( 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

 

 

 

 


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分