0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Aardio的基本用法及調(diào)用 Python 腳本的具體流程

科技綠洲 ? 來源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-10-31 10:30 ? 次閱讀

1. 前言

我們都知道 Python 可以用來開發(fā)桌面應(yīng)用,一旦功能開發(fā)完成,最后打包的可執(zhí)行文件體積大,并且使用 Python 開發(fā)桌面應(yīng)用周期相對(duì)較長(zhǎng)

假如想快速開發(fā)一款 PC 端的桌面應(yīng)用,推薦使用 Aardio + Python 搭配的方式進(jìn)行開發(fā)

2. Aardio 介紹

Aardio 是一款專注于 Windows 桌面端的軟件開發(fā),適用于快速開發(fā)一些自用的 PC 端桌面工具,并且它支持與 Python、JS、Golang 等主流語言進(jìn)行混合編程

它是一款免費(fèi)的開發(fā)工具,簡(jiǎn)單易學(xué),支持多線程,具有輕巧、快速開發(fā)的特征

PS:Aardio 僅適用于開發(fā) Windows 桌面應(yīng)用,不具有跨平臺(tái)性

官網(wǎng)地址:https://www.aardio.com/

3. 快速入手

首先,從官網(wǎng)下載軟件后打開,點(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)來設(shè)置控件位置、控件大小

控件屬性:選中某一個(gè)控件后,在軟件右側(cè)區(qū)域「 屬性 」中設(shè)置控件的屬性

圖片

雙擊按鈕控件會(huì)從「 設(shè)計(jì)視圖 」切換到「 代碼視圖 」,并在代碼中生成按鈕的點(diǎn)擊監(jiān)聽事件

PS:也可以通過工具欄「 切換 」按鈕或快捷鍵「 Ctrl +U 」切換兩種視圖

接著,在按鈕點(diǎn)擊事件中編寫代碼,使用窗體對(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)按鈕即可

圖片

4. 結(jié)合 Python

雖然 Aardio 提供了豐富的 API,很多功能可以取代 Python 來直接實(shí)現(xiàn),但是熟練掌握 Python 的小伙伴對(duì)于 Aardio 語法可能不太能適應(yīng)

假設(shè)我們用 Python 寫了一個(gè)簡(jiǎn)單的爬蟲,使用 BeautifulSoup 爬取網(wǎng)頁標(biāo)題

from urllib.request import urlopen
from urllib.error import HTTPError
from bs4 import BeautifulSoup

def getTitle(url):
    """爬蟲獲取網(wǎng)頁標(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 編寫具體的業(yè)務(wù)邏輯

首先,在 Aardio 中添加 2 個(gè)文本框和一個(gè)觸發(fā)按鈕

圖片

接著,為按鈕設(shè)置點(diǎn)擊事件調(diào)用 Python 腳本

在 Aardio 中調(diào)用 Python 包含 4 個(gè)步驟

  • 放置 Python 腳本到項(xiàng)目資源文件目錄下,即:res 文件夾下
  • 導(dǎo)入 py3 模塊,使用 string 中的 load() 函數(shù)加載腳本文件
  • 使用 py3 中的 exec() 函數(shù)預(yù)執(zhí)行腳本
  • 最后,使用「 py3.main.函數(shù)名」的格式來調(diào)用具體的函數(shù)
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 文件夾一同壓縮打包出去

5. 最后

本篇文章介紹了 Aardio 的基本用法及調(diào)用 Python 腳本的具體流程

實(shí)際上,Aardio 的功能非常強(qiáng)大,它在文件操作、操作系統(tǒng)、音視頻、數(shù)據(jù)庫、網(wǎng)絡(luò)應(yīng)用、高級(jí)應(yīng)用控件、自動(dòng)化等都有對(duì)應(yīng)的 API,大家可以自行拓展

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    551

    瀏覽量

    24560
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84078
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    382

    瀏覽量

    14761
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于Python腳本的R語言的函數(shù)

    本文介紹了采用創(chuàng)建一個(gè)Python腳本,用該腳本模仿R風(fēng)格的函數(shù)的方法來方便地進(jìn)行統(tǒng)計(jì)。 是用R語言還是用Python語言?這是一個(gè)曠日持久的爭(zhēng)論。在此,我們可以嘗試采用折中路線:創(chuàng)建
    的頭像 發(fā)表于 10-12 09:33 ?2000次閱讀
    基于<b class='flag-5'>Python</b><b class='flag-5'>腳本</b>的R語言的函數(shù)

    10個(gè)殺手級(jí)的Python自動(dòng)化腳本

    今天浩道跟大家分享10個(gè)日常工作中用到的python自動(dòng)化腳本。讓你感受一番python簡(jiǎn)單強(qiáng)大之處!
    發(fā)表于 11-28 11:07 ?637次閱讀

    13個(gè)用于日常編程的高級(jí)Python腳本

    今天浩道跟大家分享13個(gè)用于日常編程的高級(jí)python腳本。讓你不會(huì)寫腳本的也能感受到其魅力!
    發(fā)表于 12-09 11:47 ?581次閱讀

    如何在 IIS 中執(zhí)行 Python 腳本

    如何在 IIS 中執(zhí)行 Python 腳本 Python 是一種解釋腳本語言,概念類似 Microsoft Visual Basic Scripting Edition (VBSc
    發(fā)表于 02-23 15:13 ?1220次閱讀

    python代碼示例之基于Python的日歷api調(diào)用代碼實(shí)例

    本文檔的主要內(nèi)容詳細(xì)介紹的是python代碼示例之基于Python的日歷api調(diào)用代碼實(shí)例。
    發(fā)表于 09-06 14:25 ?42次下載
    <b class='flag-5'>python</b>代碼示例之基于<b class='flag-5'>Python</b>的日歷api<b class='flag-5'>調(diào)用</b>代碼實(shí)例

    如何使html網(wǎng)頁與python腳本進(jìn)行通信

    現(xiàn)在運(yùn)行python腳本并轉(zhuǎn)到http://localhost/或http://localhost/并開始按下按鈕,您應(yīng)該會(huì)在python腳本上看到輸入。
    的頭像 發(fā)表于 11-04 10:12 ?7772次閱讀

    Python】如何將Python腳本打包成exe可執(zhí)行文件

    Python實(shí)用技巧】如何將Python腳本打包成exe可執(zhí)行文件?
    的頭像 發(fā)表于 08-18 12:40 ?1.8w次閱讀
    【<b class='flag-5'>Python</b>】如何將<b class='flag-5'>Python</b><b class='flag-5'>腳本</b>打包成exe可執(zhí)行文件

    分享Perl和Python腳本輕量實(shí)用的調(diào)試工具

    Perl和Python作為目前芯片開發(fā)流程中最為流行的腳本語言,本文將分別介紹它們輕量且實(shí)用的調(diào)試工具(Debugger),讓你在調(diào)試腳本的時(shí)候不再抓瞎。
    的頭像 發(fā)表于 01-21 17:25 ?1717次閱讀
    分享Perl和<b class='flag-5'>Python</b><b class='flag-5'>腳本</b>輕量實(shí)用的調(diào)試工具

    Python怎么玩轉(zhuǎn)JS腳本

    本項(xiàng)目旨在讓大家了解如何用Python來執(zhí)行JS腳本,其主要目的是在進(jìn)行數(shù)據(jù) 分析時(shí),需要利用爬蟲獲取數(shù)據(jù),有時(shí)會(huì)遇到JS混淆加密反爬取難點(diǎn),此時(shí)我們需 要獲取網(wǎng)頁JS加密代碼將其轉(zhuǎn)換為Python代碼運(yùn)行,從而破解JS加密
    的頭像 發(fā)表于 02-23 16:26 ?938次閱讀
    <b class='flag-5'>Python</b>怎么玩轉(zhuǎn)JS<b class='flag-5'>腳本</b>

    使用Python訪問CANoe COM接口實(shí)踐

    本文介紹CANoe COM基本構(gòu)成、常用COM對(duì)象以及Python腳本調(diào)用CANoe COM的方法。
    的頭像 發(fā)表于 07-27 16:16 ?3015次閱讀
    使用<b class='flag-5'>Python</b>訪問CANoe COM接口實(shí)踐

    Python環(huán)境搭建和LabVIEW中的調(diào)用

    本文主要介紹Python相關(guān)的環(huán)境搭建、Anaconda的使用以及在LabVIEW中調(diào)用Python的方法。
    的頭像 發(fā)表于 10-13 17:56 ?2419次閱讀
    <b class='flag-5'>Python</b>環(huán)境搭建和LabVIEW中的<b class='flag-5'>調(diào)用</b>

    shell并行調(diào)用腳本

    在Shell腳本中,可以使用一些技巧來實(shí)現(xiàn)并行調(diào)用。以下是幾種常見的方法: 使用后臺(tái)進(jìn)程:在Shell腳本中,可以使用"command2 上述腳本中,每個(gè)命令都在末尾添加了"&"符號(hào),
    的頭像 發(fā)表于 11-08 10:23 ?799次閱讀

    python中text的用法

    可以使用text(字符串)進(jìn)行各種操作,例如創(chuàng)建、訪問、修改、連接、比較和搜索等。下面將詳細(xì)介紹Python中使用text的各種用法。 創(chuàng)建和訪問文本: 在Python中,我們可以使用單引號(hào)或雙引號(hào)來
    的頭像 發(fā)表于 11-23 15:46 ?2626次閱讀

    python調(diào)用windows命令

    Python是一種強(qiáng)大的編程語言,可以用于開發(fā)各種不同類型的應(yīng)用程序。其中一個(gè)常見的用途是使用Python調(diào)用Windows命令來執(zhí)行特定的任務(wù)。在本文中,我們將詳細(xì)討論如何使用Python
    的頭像 發(fā)表于 11-29 14:34 ?827次閱讀

    split在python中的用法

    split()函數(shù)的用法,以及一些實(shí)際應(yīng)用場(chǎng)景。 1. split()的基本用法 split()函數(shù)的基本用法非常簡(jiǎn)單,只需要在字符串上直接調(diào)用即可。例如: ``` str = "
    的頭像 發(fā)表于 12-25 15:12 ?1811次閱讀