# PyMiner插件开发工具

PyMiner插件开发工具由应用工具栏applications_toolbar和插件开发包pmtoolbox组成。

pmtoolbox提供了一系列便捷接口如读写文件等。applications_toolbar则是有插件开发的指导。

## 新建应用的方式

![](doc_figures/应用工具栏.png)点击“应用开发”，即可进入设计界面。

还需要实现的功能：

- 应用开发部分，建议改在QWizard.validateCurrentPage方法里面，实现界面的输入检查逻辑函数。点击cancel的时候，如文件夹已经创建，则建议删除已创建的文件夹。
- 增加了创建完成后，文件树跳转到新建的文件夹的功能。
- 应用开发部分，选择图标时应该加一个默认值。
- 应用开发部分，增加一个界面模板库templates。并且在应用开发一栏中增加一个功能让用户选择是否创建ui文件并且通过ui文件来加载。另外，可以增加一个批量转换的功能，将当前文件夹下的.ui文件全部转换为对应的.py文件。这或许需要调用pyuic来做了。

## 项目的组织

### Windows系统下的组织

![image-20201112100723993](doc_figures\项目组成结构.png)

#### 简介

bin中存储我们的项目代码

interpreter中存储的是主解释器文件

点击pyminer.cmd可以直接运行。

```mermaid
graph TD
pmtoolbox-->debug
pmtoolbox-->io
pmtoolbox-->system
pmtoolbox-->ui
```

```mermaid
graph LR
io-->dbconnect(dbconnect:数据库连接)
io-->fileutil(fileutil:文件输入输出)
io-->pmserial(pmserial:串口)
io-->network(network:网络<未集成>)
```

```mermaid
graph LR
fileutil-->encoding(encoding编码方式转换)
fileutil-->search_in_path(search_in_path路径中寻找文件)
fileutil-->variableutils(variableutils变量输出为文件)
fileutil-->compressutils(compressutils压缩文件)
```

```mermaid
graph TD
ui-->app(app:应用模板)
ui-->src(src:图标库)
ui-->uiutil(uiutil:界面常用面向过程的函数)
```

```mermaid
graph LR
system-->executableinfo(systeminfo解释器的信息)
system-->platforminfo(platforminfo系统平台的信息)
system-->versionutils(versionutils与版本计算相关)
```

还需要增加：**版本号分析、版本号对比**等等函数。
这些函数最好加在哪里呢？

增加一个

