易语言资源网 - 做最全的易语言资源下载社区
精易论坛授权登录

一个类似易语言的可视化开发环境   [复制链接]

    2022-09-14 09:26:53
    高级教程源码
    易语言资源网
    4542 次浏览
    来源链接

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

界面截图:

原本就是因为觉得好玩才做的,但是后来太忙了只做好了核心功能,有兴趣的伙伴可以下载玩一下哈哈,也可以给我提意见。

已实现功能

  • 拖拽生成控件
  • 通过类似易语言的表格修改控件信息
  • 编写控件响应代码
  • 支持中文代码编写,中文代码会通过./Script/SCPythonForPEL/SCPython.py转译成Python3代码;兼容Python3代码和中文代码混合编程;兼容所有Python3语法

  • IDE内一键运行程序
  • 生成.exe的程序

未实现的核心功能

  • 保存工程和打开工程(懒)
  • 更改软件图标

未来计划(如果我忙完还想得起来)

  • 编写一个简化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 次下载)

引用模块


源码文件名 模块文件名
PyE-Lang.e
精易模块.ec
精易JSON解析模块.ec


引用支持库


源码文件名 支持库文件名 支持库标识
PyE-Lang.e 系统核心支持库 5.3 d09f2340818511d396f6aaf844c7e325
VCLBase 1.0 {6793B367-79D9-43F3-88B7-5EB6CF04B618}
操作系统界面功能支持库 3.0 52F260023059454187AF826A3C07AF2A
扩展界面支持库一 2.0 27bb20fdd3e145e4bee3db39ddd6e64c
特殊功能支持库 3.1 A512548E76954B6E92C21055517615B0


[错误报告]   上一篇:易语言配合PHP使用棱束链对象存储上传下...     下一篇:取谷歌本地Cookies...