
來(lái)源:AirPython
作者:星安果
大家好,我是安果!
我們都知道 Python 可以用來(lái)開(kāi)發(fā)桌面應(yīng)用,一旦功能開(kāi)發(fā)完成,最后打包的可執(zhí)行文件體積大,并且使用 Python 開(kāi)發(fā)桌面應(yīng)用周期相對(duì)較長(zhǎng)
假如想快速開(kāi)發(fā)一款 PC 端的桌面應(yīng)用,推薦使用 Aardio + Python 搭配的方式進(jìn)行開(kāi)發(fā)
Aardio 是一款專注于 Windows 桌面端的軟件開(kāi)發(fā),適用于快速開(kāi)發(fā)一些自用的 PC 端桌面工具,并且它支持與 Python、JS、Golang 等主流語(yǔ)言進(jìn)行混合編程
它是一款免費(fèi)的開(kāi)發(fā)工具,簡(jiǎn)單易學(xué),支持多線程,具有輕巧、快速開(kāi)發(fā)的特征
PS:Aardio 僅適用于開(kāi)發(fā) Windows 桌面應(yīng)用,不具有跨平臺(tái)性
首先,從官網(wǎng)下載軟件后打開(kāi),點(diǎn)擊左上角「 新建工程 」,選擇「 空白工程 」模板,輸入項(xiàng)目名稱,點(diǎn)擊創(chuàng)建按鈕,一個(gè)空白工程被創(chuàng)建完成了
PS:Aardio 軟件內(nèi)置了很多界面模板、程序模板,可以根據(jù)需求自行選擇
然后,從軟件左下角的「 界面控件 」中選擇 2 個(gè)控件,一個(gè)靜態(tài)文本 Label、一個(gè)按鈕 Button,接著設(shè)置控件的位置、大小、屬性
控件大小及區(qū)域:選擇控件后,在中間面板區(qū)域,用鼠標(biāo)左鍵拖動(dòng)來(lái)設(shè)置控件位置、控件大小
控件屬性:選中某一個(gè)控件后,在軟件右側(cè)區(qū)域「 屬性 」中設(shè)置控件的屬性
雙擊按鈕控件會(huì)從「 設(shè)計(jì)視圖 」切換到「 代碼視圖 」,并在代碼中生成按鈕的點(diǎn)擊監(jiān)聽(tīng)事件
PS:也可以通過(guò)工具欄「 切換 」按鈕或快捷鍵「 Ctrl +U 」切換兩種視圖
接著,在按鈕點(diǎn)擊事件中編寫(xiě)代碼,使用窗體對(duì)象內(nèi)置的方法 msgbox() 彈出一個(gè)提示對(duì)話框
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}
)
/*}}*/
//設(shè)置按鈕的點(diǎn)擊事件
mainForm.button.oncommand = function(id,event){
//彈出一個(gè)提示框
mainForm.msgbox("Hello World,Arrdio!")
}
mainForm.show();
return win.loopMessage();
最后,點(diǎn)擊工具欄中的「 發(fā)布」按鈕或快捷鍵 F7 生成可執(zhí)行包
需要注意的是,如果彈出需要更新 Windows Defender 實(shí)時(shí)保護(hù)排除目錄,點(diǎn)擊默認(rèn)按鈕即可
雖然 Aardio 提供了豐富的 API,很多功能可以取代 Python 來(lái)直接實(shí)現(xiàn),但是熟練掌握 Python 的小伙伴對(duì)于 Aardio 語(yǔ)法可能不太能適應(yīng)
假設(shè)我們用 Python 寫(xiě)了一個(gè)簡(jiǎn)單的爬蟲(chóng),使用 BeautifulSoup 爬取網(wǎng)頁(yè)標(biāo)題
from urllib.request import urlopen
from urllib.error import HTTPError
from bs4 import BeautifulSoup
def getTitle(url):
"""爬蟲(chóng)獲取網(wǎng)頁(yè)標(biāo)題"""
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
下面我們?cè)?Aardio 編寫(xiě)具體的業(yè)務(wù)邏輯
首先,在 Aardio 中添加 2 個(gè)文本框和一個(gè)觸發(fā)按鈕
接著,為按鈕設(shè)置點(diǎn)擊事件調(diào)用 Python 腳本
在 Aardio 中調(diào)用 Python 包含 4 個(gè)步驟
import py3;
... //添加調(diào)用函數(shù)的路徑,string指pycode為字符類型 pyCode = string.load("rescallpy_pro.py"); //執(zhí)行pycode py3.exec(pyCode);
mainForm.btn.oncommand = function(id,event){ //調(diào)用函數(shù),在main中調(diào)用函數(shù)getTitle() var result = py3.main.getTitle(content);
mainForm.result.text = result; //提示彈框 mainForm.msgbox(result);
}
mainForm.show(); return win.loopMessage();
如果直接運(yùn)行程序會(huì)報(bào)錯(cuò)缺少依賴的錯(cuò)誤,原因是 Python 腳本中引用了 BS4 的依賴
這時(shí),我們需要先執(zhí)行發(fā)布操作生成可執(zhí)行文件及 py3 的文件夾
注意:py3 文件夾在安裝 py3 依賴的時(shí)候自動(dòng)生成
最后,將 BS4 的依賴目錄拷貝到「 /dist/lib/py3/.res/」 目錄下
比如
# bs4 依賴目錄
C:UsersxingagAppDataLocalProgramsPythonPython37Libsite-packagesbs4
# bs4放置到的目標(biāo)文件夾
C:UsersxingagDesktopaardiosoftwareprojectcallpydistlibpy3.res
運(yùn)行項(xiàng)目,在輸入框中輸入一個(gè)網(wǎng)址,點(diǎn)擊按鈕,會(huì)將爬取的結(jié)果展示到結(jié)果輸入框,并且彈出一個(gè)提示框
PS:由于項(xiàng)目涉及到 Python 外部依賴,分享 EXE 可執(zhí)行文件時(shí),需要將 lib 文件夾一同壓縮打包出去
本篇文章介紹了 Aardio 的基本用法及調(diào)用 Python 腳本的具體流程
實(shí)際上,Aardio 的功能非常強(qiáng)大,它在文件操作、操作系統(tǒng)、音視頻、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)應(yīng)用、高級(jí)應(yīng)用控件、自動(dòng)化等都有對(duì)應(yīng)的 API,大家可以自行拓展
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
LSTM 模型輸入長(zhǎng)度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長(zhǎng)序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠(chéng)摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡(jiǎn)稱 BI)深度融合的時(shí)代,BI ...
2025-07-10SQL 在預(yù)測(cè)分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢(shì)預(yù)判? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代,預(yù)測(cè)分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭(zhēng)搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢(shì)性檢驗(yàn):捕捉數(shù)據(jù)背后的時(shí)間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢(shì)性檢驗(yàn)如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時(shí)間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時(shí)間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢(shì)與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢(shì)變化以及識(shí)別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國(guó)內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對(duì)策略? 長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門(mén)控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場(chǎng)調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場(chǎng)調(diào)研是企業(yè)洞察市場(chǎng)動(dòng)態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場(chǎng)調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書(shū)考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動(dòng)力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動(dòng)力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開(kāi)啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03