每次启动时自动reload python逻辑¶
在开发工具的过程中,需要修改后的python逻辑能够立即生效。可以通过在界面json文件的InitCmd中,reload对应的py工具模块。使得每次打开工具的时候,自动重新加载修改后的工具逻辑。
"InitPyCmd": "import importlib, your_tools_module; importlib.reload(your_tools_module); your_tool_inst = your_tools_module.Tool(%jsonPath)"
待工具开发完成之后,再去掉对应的reload语句。
另外如果希望连界面都不重新打开就能“热加载”(hot reload)对应的逻辑,可以使用这个方法
通过按钮或者菜单重新加载Python逻辑¶
如果将工具的逻辑代码与控制界面部分的代码进行拆分,可以在不关闭界面的情况下,hot reload 对应的逻辑。 此方法适合功能相对独立的方法和模块。
当然在开发的工具中,加个临时按钮,reload对应的逻辑模块也是很方便的选择:
...
{
"SButton": {
"Text": "Reload",
"HAlign": "Center",
"VAlign": "Center",
"OnClick": "import your_utils, importlib; importlib.reload(your_utils)"
}
},
...
对于涉及到界面逻辑部分的代码,可以通过快速更新python逻辑,在重新打开界面的时候更新逻辑