1. 前言
大家好,我是安果!
我们都知道 Python 可以用来开发桌面应用,一旦功能开发完成,最后打包的可执行文件体积大,并且使用 Python 开发桌面应用周期相对较长
假如想快速开发一款 PC 端的桌面应用,推荐使用 Aardio + Python 搭配的方式进行开发
2. Aardio 介绍
Aardio 是一款专注于 Windows 桌面端的软件开发,适用于快速开发一些自用的 PC 端桌面工具,并且它支持与 Python、JS、Golang 等主流语言进行混合编程
它是一款免费的开发工具,简单易学,支持多线程,具有轻巧、快速开发的特征
PS:Aardio 仅适用于开发 Windows 桌面应用,不具有跨平台性
官网地址:https://www.aardio.com/
3. 快速入手
首先,从官网下载软件后打开,点击左上角「 新建工程 」,选择「 空白工程 」模板,输入项目名称,点击创建按钮,一个空白工程被创建完成了
PS:Aardio 软件内置了很多界面模板、程序模板,可以根据需求自行选择
然后,从软件左下角的「 界面控件 」中选择 2 个控件,一个静态文本 Label、一个按钮 Button,接着设置控件的位置、大小、属性
控件大小及区域:选择控件后,在中间面板区域,用鼠标左键拖动来设置控件位置、控件大小
控件属性:选中某一个控件后,在软件右侧区域「 属性 」中设置控件的属性
双击按钮控件会从「 设计视图 」切换到「 代码视图 」,并在代码中生成按钮的点击监听事件
PS:也可以通过工具栏「 切换 」按钮或快捷键「 Ctrl +U 」切换两种视图
接着,在按钮点击事件中编写代码,使用窗体对象内置的方法 msgbox() 弹出一个提示对话框
- import win.ui;
- /*DSG{{*/
- mainForm = win.form(text="aardio工程8";right=959;bottom=591)
- mainForm.add(
- button={cls="button";text="弹出 Hello World";left=320;top=120;right=568;bottom=184;z=2};
- static={cls="static";text="Hello";left=80;top=120;right=240;bottom=168;notify=1;transparent=1;z=1}
- )
- /*}}*/
- //设置按钮的点击事件
- mainForm.button.oncommand = function(id,event){
- //弹出一个提示框
- mainForm.msgbox("Hello World,Arrdio!")
- }
- mainForm.show();
- return win.loopMessage();
最后,点击工具栏中的「 发布」按钮或快捷键 F7 生成可执行包
需要注意的是,如果弹出需要更新 Windows Defender 实时保护排除目录,点击默认按钮即可
4. 结合 Python
虽然 Aardio 提供了丰富的 API,很多功能可以取代 Python 来直接实现,但是熟练掌握 Python 的小伙伴对于 Aardio 语法可能不太能适应
假设我们用 Python 写了一个简单的爬虫,使用 BeautifulSoup 爬取网页标题
- from urllib.request import urlopen
- from urllib.error import HTTPError
- from bs4 import BeautifulSoup
- def getTitle(url):
- """爬虫获取网页标题"""
- try:
- html = urlopen(url)
- except HTTPError as e:
- return None
- try:
- bsObj = BeautifulSoup(html.read(), "html.parser")
- title = bsObj.head.title.string
- except AttributeError as e:
- return None
- return title
下面我们在 Aardio 编写具体的业务逻辑
首先,在 Aardio 中添加 2 个文本框和一个触发按钮
接着,为按钮设置点击事件调用 Python 脚本
在 Aardio 中调用 Python 包含 4 个步骤
- 放置 Python 脚本到项目资源文件目录下,即:res 文件夹下
- 导入 py3 模块,使用 string 中的 load() 函数加载脚本文件
- 使用 py3 中的 exec() 函数预执行脚本
- 最后,使用「 py3.main.函数名」的格式来调用具体的函数
- import py3;
- ...
- //添加调用函数的路径,string指pycode为字符类型
- pyCode = string.load("\res\callpy_pro.py");
- //执行pycode
- py3.exec(pyCode);
- mainForm.btn.oncommand = function(id,event){
- //调用函数,在main中调用函数getTitle()
- var result = py3.main.getTitle(content);
- mainForm.result.text = result;
- //提示弹框
- mainForm.msgbox(result);
- }
- mainForm.show();
- return win.loopMessage();
如果直接运行程序会报错缺少依赖的错误,原因是 Python 脚本中引用了 BS4 的依赖
这时,我们需要先执行发布操作生成可执行文件及 py3 的文件夹
注意:py3 文件夹在安装 py3 依赖的时候自动生成
最后,将 BS4 的依赖目录拷贝到「 /dist/lib/py3/.res/」 目录下
比如
- # bs4 依赖目录
- C:\Users\xingag\AppData\Local\Programs\Python\Python37\Lib\site-packages\bs4
- # bs4放置到的目标文件夹
- C:\Users\xingag\Desktop\aardio\software\project\callpy\dist\lib\py3\.res\
运行项目,在输入框中输入一个网址,点击按钮,会将爬取的结果展示到结果输入框,并且弹出一个提示框
PS:由于项目涉及到 Python 外部依赖,分享 EXE 可执行文件时,需要将 lib 文件夹一同压缩打包出去
5. 最后
本篇文章介绍了 Aardio 的基本用法及调用 Python 脚本的具体流程
实际上,Aardio 的功能非常强大,它在文件操作、操作系统、音视频、数据库、网络应用、高级应用控件、自动化等都有对应的 API,大家可以自行拓展
如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!