前阵子在用python写一些小程序,写完后就开始思考怎么给python程序配一个图形界面,毕竟控制台实在太丑陋了。

于是百度了下python的图形界面库,眼花缭乱的一整页,拣了几件有“特色”有“噱头”的下载下来做了个demo,仍旧不是很满意,不是下载安装繁琐,就是界面丑陋或者难写难用,文档不齐全。

后来那天,整理电脑文件发现了6年前下载的aatuo(现已更名aardio),顿时一阵惊喜。

先说说aardio,2011年7月的时候,它还叫aauto,那时的自己还醉心于开发桌面应用,VC++(MFC),C#(Winform),Java(Swing),Delphi都被玩了个遍,偶尔网上百度到了aauto,下载下来试用了下,你会被它的IDE“免安装”和“使用友好”感动到,而且最终发布的EXE文件也很小,确实是一个很适合开发小工具或者小应用的语言。后来,aauto更名为aardio,我也有幸成为目睹aardio一路成长的开发者。

当时,我的第一直觉是,aardio应该可以给python写个图形界面,抱着试试的想法,我先用python写了一个简单的不能再简单的函数。

1

2

def add(a,b):

return a+b

然后,仿照以前用C语言写DLL,然后让别的语言调用一样,我参照aardio里面的代码范例,写了这样的代码:

1

2

3

4

5

6

import py3;

var code = string.load("add.py");

py3.exec(code);

py3.exec(code);

__main__ = py3.addModule("__main__");//创建模块对象

编辑“计算”按钮的单击事件

1

2

3

4

5

6

7

winform.button.oncommand =function(id,event){

//winform.msgbox( winform.button.text );

var n1=tonumber(winform.n1.text);

var n2=tonumber(winform.n2.text);

var s = tonumber(__main__.add(n1,n2));

winform.sum.text=s;

}

最后效果如图:

写在最后的话,我想谈谈python这个脚本语言,我们知道python是解释型语言,所以无需编译就可以运行。所以对于这个aardio界面搭配的python程序,以后如果要修改部分函数,只需要用文本编辑器修改py文件即可运行,而无需重新编译。

代码清单:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

import win.ui;

import py3;

/*DSG{{*/

var winform = win.form(text="加法计算器";right=256;bottom=331)

winform.add(

button={cls="button";text="计算";left=72;top=267;right=188;bottom=305;z=1};

equal={cls="static";left=30;top=156;right=237;bottom=181;transparent=1;z=6};

n1={cls="edit";left=72;top=30;right=188;bottom=68;edge=1;font=LOGFONT(h=-29);multiline=1;z=3};

n2={cls="edit";left=72;top=92;right=188;bottom=130;edge=1;font=LOGFONT(h=-29);multiline=1;z=4};

static={cls="static";text="+";left=14;top=91;right=62;bottom=126;align="center";center=1;font=LOGFONT(h=-29);transparent=1;z=5};

sum={cls="edit";left=72;top=204;right=188;bottom=242;edge=1;font=LOGFONT(h=-29);multiline=1;z=2}

)

/*}}*/

var code = string.load("add.py");

py3.exec(code);

py3.exec(code);

__main__ = py3.addModule("__main__");//创建模块对象

var i =0 ;

for(i=1;50;1){

winform.equal.text=winform.equal.text+"-"

}

winform.button.oncommand =function(id,event){

//winform.msgbox( winform.button.text );

var n1=tonumber(winform.n1.text);

var n2=tonumber(winform.n2.text);

var s = tonumber(__main__.add(n1,n2));

winform.sum.text=s;

}

winform.show()

win.loopMessage();

aardio java_图形界面Aardio相关推荐

  1. python打代码运行图形_利用aardio给python编写图形界面

    前阵子在用python写一些小程序,写完后就开始思考怎么给python程序配一个图形界面,毕竟控制台实在太丑陋了. 于是百度了下python的图形界面库,眼花缭乱的一整页,拣了几件有"特色& ...

  2. java图形界面外部类例题_[JAVA_开课吧资源]第四周 图形用户界面程序设计

    主题一 图形用户界面程序设计 » 图形用户界面概述 Java语言提供了大量支持GUI设计的类,如按钮.菜单.列表.特性框.对话框等组件类,同时也提供了包含窗口.面板等容器类.Java的抽象工具集AWT ...

  3. python没有上方工具栏_Python体验(08)-图形界面之工具栏和状态栏

    # coding=utf-8 import wx # 导入必须的Python包 class MenuForm(wx.Frame): def OnQuit(self,event): self.Close ...

  4. linux 6.4 图形界面,为CentOS 6.4安装图形界面并用VNC远程连接

    为CentOS 6.4安装图形界面并用VNC远程连接 1.安装VNC服务 #yum install -y tigervnc-server #passwd                        ...

  5. 设置centos默认启动命令行(不启动图形界面)

    centos7以下的版本 #vim /etc/inittab 找到id:5:initdefault,将 5 修改为 3 即可 _____________________________________ ...

  6. 【linux】图形界面基础知识(X、X11、GNOME、Xorg、KDE的概念和它们之间的关系)

    转载自:https://blog.csdn.net/zhangxinrun/article/details/7332049 简介 LINUX初学者经常分不清楚linux和X之间,X和Xfree86之间 ...

  7. python安装成功的图标_ubuntu下:安装anaconda、环境配置、软件图标的创建、成功启动anaconda图形界面...

    Ubuntu安装anaconda常见的四大问题: 目录 1.介绍 2.安装anaconda 3.环境配置 4.软件图标的创建 5.成功启动anaconda图形界面 1.介绍 先介绍一下anaconda ...

  8. python实现nginx图形界面管理

    好久没有更新博客了,最近一直在学习python,于是,在有空闲的时间写下python视图界面管理nginx,写得不够好,不过希望能帮忙到其他童鞋,再次感叹,强大的python,不说了,上代码. [ro ...

  9. Linux 安装图形界面及远程连接

    #可查询哪些组件是否已经安装(可用来对照组件名称) yum grouplistyum groupinstall 'X Window System' -y #安装GNOME桌面环境 yum groupi ...

  10. memcached图形界面的监控

    wget http://livebookmark.net/memcachephp/memcachephp.zip 前提是已经安装了php和memcached 图形界面的监控是通过memcache.ph ...

最新文章

  1. Silverlight:如何在程序中获取网站的根目录
  2. 虚拟机下安装vmware tools
  3. oracle 初始化出错,OCCI编程时,初始化Date种出错
  4. SPOJ- QTREE+HDU 3966(树链剖分裸题
  5. toolbar + DrawerLayout 实现抽屉菜单
  6. 如何使用ABP进行软件开发之基础概览
  7. 单片机c语言 外部中断,单片机C语言代码:外部中断,按下中断按键LED不亮,LED1正常亮...
  8. 程序员最常用的7大编程实战网站,阿里腾讯面试题也用它!
  9. Python之网络编程(TCP套接字与UDP套接字)
  10. iOS开发——高级篇——线程同步、线程依赖、线程组
  11. python删除链表重复节点_LeetCode-python 82.删除排序链表中的重复元素 II
  12. Android屏幕适配之--自定义像素的缩放比例来实现屏幕适配
  13. 计算机怎么语音通话,微信电脑版怎么语音聊天?微信电脑版语音聊天教程
  14. 计算机的新兴技术在测绘工程领域的应用,当代测绘新技术在测绘工程中的应用...
  15. Perl 最佳实践(节选) --- 12
  16. 11.1 身在大学,不追浮云——《逆袭大学》连载
  17. 从IMDB上爬取MovieLens数据集中的详细电影信息
  18. js对string类型的数值做四舍五入
  19. 15年上半年系统集成项目管理工程师案例分析真题及答案
  20. Python转换过程单双号处理(转载)

热门文章

  1. 问题 E: 【贪心】雷达问题
  2. 吴伯凡:VUCA时代的自我迭代
  3. 跟我一起学python3(一)
  4. 电子计算机按钮说明,电子计算器常用按键功能说明
  5. Auto property synthesis will not synthesizeproterty;it will be implemented by its superclass, use@dy
  6. 数据仓库和数据集市详解:ODS、DW、DWD、DWM、DWS、ADS
  7. 数据分析模型有哪些?常见的这八种来了解一下!
  8. 计算机上怎么计算x的n次方,计算x的n次方(用函数)
  9. layui上传图片插件
  10. SpringBoot2——web开发(组件使用)