快速开发PC端桌面应用:推荐使用Aardio与Python混合编程的优势与步骤
我们知晓 Python 能够用于开发桌面应用。当功能开发完毕后,最后打包而成的可执行文件体积较为庞大。同时,用 Python 开发桌面应用所花费的周期相对来讲比较长。

假如想要快速开发一款 PC 端的桌面应用,那么推荐采用 Aardio 与 Python 搭配的方式来进行开发。
1. Aardio介绍
Aardio 是专注于 Windows 桌面端的软件开发。它适用于快速开发自用的 PC 端桌面工具。同时,它支持与 Python、JS、Golang 等主流语言进行混合编程。
它具有快速开发的特征。
Aardio 只适用于对 Windows 桌面应用进行开发。它不具备跨平台的特性。
官网地址:
2. 快速入手
首先,从官网下载软件并打开。接着,点击左上角的“新建工程”。然后,选择“空白工程”模板。之后,输入项目名称。再点击创建按钮,这样一个空白工程就被创建完成了。
Aardio 软件内置有许多界面模板和程序模板,能够依据需求自行进行选择。
接着,从软件左下角的“界面控件”里挑选 2 个控件,其中有一个是静态文本 Label,还有一个是按钮 Button。随后,对这些控件的位置、大小以及属性进行设置。
选择控件后,在中间面板区域,通过鼠标左键进行拖动,以此来设置控件的位置以及控件的大小。
选中一个控件后,在软件右侧的区域“属性”里可以设置该控件的属性。
双击按钮控件,它会从“设计视图”切换到“代码视图”,同时在代码中生成按钮的点击监听事件。
PS:可以通过工具栏的「切换」按钮或者快捷键「Ctrl+U」来进行两种视图的切换。
然后,在按钮的点击事件里编写代码,利用窗体对象所具备的方法 msgbox() 来弹出一个提示对话框。
import win.ui;
/*DSG{{*/
mainForm 是一个窗口对象,它的 form 方法被调用,设置了文本为“aardio 工程 8”,右边的位置为 959,底部的位置为 591。
mainForm.add(
button 的类为"button";按钮上的文字为"弹出 Hello World";其左边坐标为 320;顶部坐标为 120;右边坐标为 568;底部坐标为 184;层级 z 为 2。
- z 为 1。
)
/*}}*/
//设置按钮的点击事件
mainForm 的 button 的 oncommand 等于一个函数,这个函数接收两个参数,分别是 id 和 event 。
//弹出一个提示框
mainForm 弹出一个消息框,内容为“Hello World,Arrdio!”
}
mainForm.show();
return win.loopMessage();
最后,点击工具栏里的“发布”按钮,或者使用快捷键 F7 来生成可执行包。
需要注意的是,若弹出需要更新 Windows Defender 实时保护排除目录的情况,那么点击默认按钮就可以了。
3. 结合 Python
Aardio 提供了丰富的 API,许多功能能够取代 Python 以直接实现。然而,熟练掌握 Python 的小伙伴或许不太能适应 Aardio 的语法。
假设我们以 Python 语言编写了一个较为简单的爬虫程序,在这个程序中运用了 BeautifulSoup 来抓取网页的标题。
使用 urllib.request 中的 urlopen 函数。
从 urllib.error 模块中导入 HTTPError 类。
from bs4 import BeautifulSoup
def getTitle(url):
"""爬虫获取网页标题"""
try:
html = urlopen(url)
except HTTPError as e:
return None
try:
bsObj 是通过 BeautifulSoup 函数,以 "html.parser" 为解析器,对 html.read() 的内容进行处理后得到的对象。
title 等于 bsObj 的 head 中的 title 的字符串
如果遇到 AttributeError 这种情况,就将其记为 e 。
return None
return title
下面我们在 Aardio 编写具体的业务逻辑
首先,在Aardio 中添加 2 个文本框和一个触发按钮
接着,为按钮设置点击事件调用 Python 脚本
在 Aardio 中调用 Python 包含 4个步骤
import py3;
...
添加调用函数的路径,这里的 string 表示 pycode 属于字符类型。
pyCode 被 string 从“\res\callpy_pro.py”这个路径加载而来。
//执行pycode
py3.exec(pyCode);
mainForm 的 btn 的 oncommand 等于一个函数,这个函数接收两个参数,分别是 id 和 event。
在 main 中调用函数 getTitle()。
获取内容的标题,其结果为 py3.main.getTitle(content)。
mainForm 的 result 的文本等于 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 文件夹路径为 C:\Users\xingag\Desktop\aardio\software\project\callpy\dist\lib\py3\.res\
运行项目后,在输入框里输入一个网址,接着点击按钮,就能把爬取的结果展示在结果输入框中,同时还会弹出一个提示框。
因为项目与 Python 存在外部依赖关系,在分享 EXE 可执行文件的时候,必须把 lib 文件夹一起压缩打包并带出去。
4. 最后
这篇文章对 Aardio 的基本用法进行了介绍,同时也阐述了调用 Python 脚本的具体流程。
Aardio 的功能极为强大。它在文件操作方面有对应的 API,在操作系统方面有对应的 API,在音视频方面有对应的 API,在数据库方面有对应的 API,在网络应用方面有对应的 API,在高级应用控件方面有对应的 API,在自动化方面也有对应的 API。大家能够自行进行拓展。
【python学习】
学 Python 的伙伴们,欢迎加入新的交流群:1020465983
探讨编程知识,努力成为大神。群里有软件安装包,有实战案例,也有学习资料。