目录
1. 下载源码
2. 前期准备
2.1 安装依赖
创建好python虚拟环境后进入项目根目录
pip install -r requirements-dev.txt
# labelme界面基于pyqt进行开发,需了解信号和槽相关知识
pip install pyqt5
2.2 项目结构
只介绍核心文件
2.2.1 根目录
- setup.py 安装文件
- labelme 项目源码文件夹
- labelme.spec pyinstaller配置文件
2.2.2 labelme项目源码
- config 配置文件夹
- icons 图标文件夹
- translate 多语言配置文件夹
- utils 工具文件夹
- widgets 作者自定义qt widgets类存放文件夹
- app.py 主要逻辑主文件
其他的文件暂时用不到
3. 常见功能修改
以下修改均在app.py完成
3.1 菜单栏新增菜单
self.menus = utils.struct(
file=self.menu(self.tr("&File")),
edit=self.menu(self.tr("&Edit")),
view=self.menu(self.tr("&View")),
help=self.menu(self.tr("&Help")),
vtk=self.menu(self.tr("&VTK")), # 自行新增
recentFiles=QtWidgets.QMenu(self.tr("Open &Recent")),
labelList=labelMenu,
)
新增VTK菜单
3.2 菜单栏下拉子菜单
在3.1代码下方添加
utils.addActions(
self.menus.vtk, (
vtk_setting,
))
# 这个action对应utils目录下qt.py的newAction函数, 返回一个QtWidgets.QAction
# def newAction(parent, text, slot=None, shortcut=None, icon=None, tip=None, checkable=False, enabled=True, checked=False,)
vtk_setting = action(
self.tr("&VTK Setting"),
self.your_slot, # 你对应的槽函数,触发一些函数或者打开新的QtWidget
None,
"edit", # 对应icons目录的图片名称
"VTK Setting",
enabled=True, # 能否点击
)
3.3 新增View在右侧自定义自己的界面
更新中…
二次开发效果
在labelme增加了一个VTK三维重建的窗口,查看当前标注的切面在哪个位置。