开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 19783|回复: 118
收起左侧

[易语言软件开源] 【开源分享】写了一个类似易语言的可视化开发环境

    [复制链接]
发表于 2022-9-9 18:22:07 | 显示全部楼层 |阅读模式   广东省广州市
分享源码
界面截图:
是否带模块: 调用了模块
备注说明: -
写了一个类似于易语言的可视化开发环境,原理是用易语言编写的IDE可以操作拖拽构建UI并且编写UI的响应事件(如按钮按下),然后整理成整个窗口的JSON数据发送给PELCore.py脚本(和易语言编写的IDE通过Socket连接,运行IDE时会自动运行PELCore.py),PELCore.py脚本对收到的窗口JSON数据解析并构建窗口(Python3 Tkinter GUI)。
界面截图:
屏幕截图 2022-09-09 175042.png
原本就是因为觉得好玩才做的,但是后来太忙了只做好了核心功能,有兴趣的伙伴可以下载玩一下哈哈,也可以给我提意见。

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

屏幕截图 2022-09-09 175923.png
  • 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出现了问题导致程序崩溃
  • 项目文件路径不得有空格


晚点更新如何自己添加控件的教程~

源码文件:链接:https://pan.baidu.com/s/1Gsenh1ZwjX_Z2SnOT-MzWQ?pwd=wq1r  提取码:wq1r

点评

PEL_Code.zip   福建省泉州市  发表于 2023-5-8 03:04
厉害了,你要抢易语言饭碗么   辽宁省大连市  发表于 2022-10-20 16:22
这小圆角圆得,太漂亮了!   浙江省温州市  发表于 2022-10-10 10:58

评分

参与人数 17好评 +12 精币 +27 收起 理由
1828902364 + 1 感谢分享,很给力!~
pj小黑屋 + 1 感谢分享,很给力!~
※逍遥游※ + 1 感谢分享,很给力!~
pengge123 + 1 + 1 用易语言写的易语言开发易语言的易语言程序~
yhw5231 + 1 + 1 加油,顶替易语言不再是梦
743567274 + 1 + 2 YYDS~!
kyo9766 + 2 这是用 易语言 写了 一个 易语言?
七颗心 + 2 支持开源~!感谢分享
默念、 + 1 + 1 支持开源~!感谢分享
llxx123 + 1 + 2 支持开源~!感谢分享
易语言资源网 + 1 + 3 开源精神必须支持~
huzpsb + 1 + 2 全论坛易友发来贺电
zhifu3158 + 1 新技能已get√
cayter + 1 + 2 YYDS~!
精易小飞 + 1 + 1 支持开源~!感谢分享
pipi9 + 1 + 2 YYDS~!
冰点 + 1 + 3 支持开源~!感谢分享

查看全部评分


本帖被以下淘专辑推荐:

 楼主| 发表于 2023-8-23 19:49:49 | 显示全部楼层   广东省湛江市
本帖最后由 岁月流逝ss 于 2023-8-23 19:51 编辑

这个方案已经废弃,因为易语言写的前端处理JSON太费劲了点...目前打算用C#代替易语言重写UI,也有可能上electron,大家期待后续吧~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-24 01:45:22 | 显示全部楼层   广东省湛江市
岁月流逝ss 发表于 2023-8-23 19:49
这个方案已经废弃,因为易语言写的前端处理JSON太费劲了点...目前打算用C#代替易语言重写UI,也有可能上ele ...

最近几天会和大家见面了,也是完全开源,不过没有采用易语言了,采用的技术是Electron+Vue+JavaScript+Python Tkinter,同样接入SCPython进行Python代码的汉化
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-9-6 13:13:48 | 显示全部楼层   广东省广州市
岁月流逝ss 发表于 2023-8-24 01:45
最近几天会和大家见面了,也是完全开源,不过没有采用易语言了,采用的技术是Electron+Vue+JavaScript+Py ...

有想要交流或者试用的的可以加我QQ1059872990,现在还在开发过程中~
回复 支持 反对

使用道具 举报

结帖率:100% (7/7)

签到天数: 25 天

发表于 2023-8-31 09:56:39 | 显示全部楼层   海南省海口市
岁月流逝ss 发表于 2023-8-23 19:49
这个方案已经废弃,因为易语言写的前端处理JSON太费劲了点...目前打算用C#代替易语言重写UI,也有可能上ele ...

另外 赶紧搞个群 人多力量大  边出测试版 边拿反馈和建议
回复 支持 反对

使用道具 举报

结帖率:100% (7/7)

签到天数: 25 天

发表于 2023-8-31 09:53:43 | 显示全部楼层   海南省海口市
岁月流逝ss 发表于 2023-8-23 19:49
这个方案已经废弃,因为易语言写的前端处理JSON太费劲了点...目前打算用C#代替易语言重写UI,也有可能上ele ...

关键是你得做成易语言表格模式 语法也要一样 不然都没人用 加油大佬支持你
回复 支持 反对

使用道具 举报

签到天数: 13 天

发表于 2023-8-28 23:04:11 | 显示全部楼层   山东省菏泽市
感谢分享,学习一下
回复 支持 反对

使用道具 举报

结帖率:63% (5/8)

签到天数: 23 天

发表于 2023-8-19 13:59:56 | 显示全部楼层   浙江省金华市
解决了吧,怎么弄的
回复 支持 反对

使用道具 举报

签到天数: 6 天

发表于 2023-8-18 16:44:44 | 显示全部楼层   广东省广州市
#在这里快速回复#666666
回复 支持 反对

使用道具 举报

签到天数: 23 天

发表于 2023-8-13 19:58:32 | 显示全部楼层   四川省成都市
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表