python图形界面可输出脚本_【极简教程】给python脚本加个图形界面(GUI).md

> 平时用Python语言写个小脚本、小爬虫什么的,想要在朋友面前秀秀。但是朋友没有Python环境。

>

> 总不可能为了运行个小脚本就叫别把Python 环境安装上吧。 而且也要为python程序配一个图形界面,毕竟控制台实在太丑陋了。

而Python的图形库,不是下载安装繁琐,就是界面丑陋或者难写难用,文档不齐全。 而且还要花费大量时间学习才能掌握使用。

下面我就介绍一种**极其简单**的方法,给python脚本添加一个图形界面并打包发布。

### **Python + Aardio**

### 1. [aardio](http://bbs.aardio.com/)

aardios是一个小、轻、快,轻便利索,体积仅5.9MB,的桌面应用开发工具(语言)。支持可视化的设计界面

![拖拽设计界面](assets/89862179.jpg)

aardio是一个绿色软件,[下载](http://www.aardio.com/) 解压,即可使用。用他打包的程序也是绿色免安装的。

解压之后双击运行aardio.exe 新建一个项目,并拖拽 完成界面的设计。

### 2 Python 程序

这里是非常简单的一个温度转换的程序

```python

// 摄氏度 华氏度 相互转换函数

def tempcv(inStr):

// 是C结尾的就认为是摄氏度

if inStr[-1] in ["C","c"]:

f=1.8*float(inStr[0:-1])+32

return f

// 是F 结尾的就认为是华氏度

elif inStr[-1] in ["F","f"]:

c=(float(inStr[0:-1])-32)/1.8

return c

else :

return false

if __name__ == '__main__':

inTemp = input("Please enter a temperature value with a temperature symbol(eg:32c/75F)")

res = tempcv(inTemp)

print(res)

```

将Python程序放到哦 aardio工程下的res文件夹下(放到这里的资源,打包后都将被打包进可执行文件里)

![](assets/1035141.jpg)

然后回到aardio程序打开代码视图(Ctrl+u)

![拖拽设计界面](assets/89862179-1537865809043.jpg)

将双击`开始转换`按钮,绑定单击事件

```javascript

import py

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

pyCode = string.load("\res\TempConv.py");

py.exec(pyCode);

// 获取输入

var inStr = mainForm.inEdit.text

// 执行Python脚本

var res = py.main.tempcv(inStr);

// 拼接输出

outStr = "您输入的是:" + inStr + '\n';

outStr += "转换结果是:" ++ res.toNumber();

// 结果展示

mainForm.outEdit.text = outStr;

}

```

最后是运行效果:

![](assets/39755305.jpg)

点击 `发布(F7)`按钮,生成绿色软件

![](assets/40862807.jpg)

因为lib文件夹下带了一个Python解释器,所以发布的程序大小为12.6M

------

main.aardio 完整代码:

```js

import win.ui;

import console;

import py;

/*DSG{{*/

mainForm = win.form(text="aardio form";right=399;bottom=299)

mainForm.add(

button={cls="button";text="开始转换";left=248;top=88;right=360;bottom=136;font=LOGFONT(h=-16);z=2};

inEdit={cls="edit";left=24;top=88;right=208;bottom=144;edge=1;font=LOGFONT(h=-21);multiline=1;z=1};

outEdit={cls="richedit";left=24;top=200;right=368;bottom=272;edge=1;font=LOGFONT(h=-19);multiline=1;readonly=1;z=4};

static2={cls="static";text="请输入带有温度表示符号

的温度值(例如:32c/75F)";left=24;top=32;right=264;bottom=80;font=LOGFONT(h=-19);transparent=1;z=3};

static3={cls="static";text="结果展示";left=24;top=168;right=136;bottom=192;font=LOGFONT(h=-21);transparent=1;z=5}

)

/*}}*/

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

pyCode = string.load("\res\TempConv.py");

py.exec(pyCode);

// 获取输入

var inStr = mainForm.inEdit.text

// 执行Python脚本

var res = py.main.tempcv(inStr);

// 拼接输出

outStr = "您输入的是:" + inStr + '\n';

outStr += "转换结果是:" ++ res.toNumber();

// 结果展示

mainForm.outEdit.text = outStr;

}

mainForm.enableDpiScaling();

mainForm.show();

return win.loopMessage();

```

**整个工程文件 [下载](https://share.weiyun.com/5eCC8Vm)**

一键复制

编辑

Web IDE

原始数据

按行查看

历史

你可能感兴趣的:(python图形界面可输出脚本)