写了一个类似于易语言的可视化开发环境,原理是用易语言编写的IDE可以操作拖拽构建UI并且编写UI的响应事件(如按钮按下),然后整理成整个窗口的JSON数据发送给PELCore.py脚本(和易语言编写的IDE通过Socket连接,运行IDE时会自动运行PELCore.py),PELCore.py脚本对收到的窗口JSON数据解析并构建窗口(Python3 Tkinter GUI)。
界面截图:

原本就是因为觉得好玩才做的,但是后来太忙了只做好了核心功能,有兴趣的伙伴可以下载玩一下哈哈,也可以给我提意见。
已实现功能
- 拖拽生成控件
- 通过类似易语言的表格修改控件信息
- 编写控件响应代码
- 支持中文代码编写,中文代码会通过./Script/SCPythonForPEL/SCPython.py转译成Python3代码;兼容Python3代码和中文代码混合编程;兼容所有Python3语法

未实现的核心功能
未来计划(如果我忙完还想得起来)
- 编写一个简化Python3语法的核心库提供给PEL,尽可能在保持Python的语法优势的前提下靠近易语言语法习惯
- 增加多窗口(目前只支持一个窗口)
- 增加更多控件的支持
一些问题
- 目前只做了三个控件的支持(按钮、编辑框、标签),但是预留了可以深度自定义的控件接口,可以很方便的添加新的控件
- 打包出来的exe要带上整个Python Tkinter库,导致一个空程序都很大
- SCPython对中文Python的转译支持还不够
项目文件结构
- PyE-Lang.e:IDE源代码
- setting.ini:保存Python3路径(必须修改成自己的Python3路径)
- ./Script/PELCore.py:核心功能实现
- ./Script/Base.py:生成程序的模板代码
- ./Script/SCPythonForPEL/*.py:SCPython转译器及其实现文件
- ./UnitBase/*.json:控件及窗口的JSON模板
- ./UnitBase/img/*.png:控件的可视化展示图片
- ./Build/*.*:pyinstaller库打包文件(不用管)
依赖
易语言模块:精易模块、精易JSON解析模块
Python3环境:Python3.4及以上环境(理论最低支持3.0,开发环境为3.10.6)、pyinstaller库
一些注意
- 由于IDE和PELCore.py之间是使用Socket通信,PELCore.py启动时会开启SocketServer,可能会被防火墙禁止导致无法运行
- 这玩意刚写出来我也不知道会有什么奇奇怪怪的Bug,如果遇到问题比如编写的软件打不开可以到系统的临时文件文件夹(Temp)中找到testplan文件夹,里面的build.py就是生成的程序文件,可以打开看看有什么问题。
- 如果遇到与PELCore无法通信,确定防火墙等已经正常关闭的话可以手动运行./Script/PELCore.py,然后在7秒内运行IDE并调试来查看是不是PELCore.py出现了问题导致程序崩溃
- 项目文件路径不得有空格
点我下载
(已有 114 次下载)