利用 Aardio 配合 Python 快速開發桌面應用
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,大家可以自行拓展
如果你覺得文章還不錯,請大家 點贊、分享、留言 下,因為這將是我持續輸出更多優質文章的最強動力!