詳解:用Python+AutoIt實現界面工具開發過程

前言:

今天為大家帶來的內容是,詳解:Python+AutoIt實現界面工具開發過程!(部分代碼用圖片方式呈現出來,方便各位觀看與收藏)

AutoIt簡述

AutoIt一個使用類似BASIC腳本語言的免費軟件,語言簡單、開發工具安裝方便,幫助手冊內容豐富。它設計用於Windows GUI(圖形用戶界面)中進行自動化操作。

下面內容來自官網的介紹,如下:

詳解:用Python+AutoIt實現界面工具開發過程

AutoIt工具安裝

Auto工具從官網下載:https://www.autoitscript.com/site/autoit/downloads/。這裡要注意的一點是要安裝全量的AutoIt編輯器。把如下兩個軟件下載,安裝步驟按照提示默認操作就可以完成。如果只安裝第1個,就會缺少本文需要使用的Koda(FormDesigner)菜單欄。


詳解:用Python+AutoIt實現界面工具開發過程

安裝完成後,打開SciTE編輯器。檢查是否包含Koda(FormDesigner)。路徑:菜單欄Tools -> Koda(FormDesigner)。這就是AutoIt界面畫圖的工具,通過拖拽工具欄中的組件到主界面就可以實現。


詳解:用Python+AutoIt實現界面工具開發過程

AutoIt界面繪製和對齊

AutoIt界面實現就是通過Koda(FormDesigner)界面中windows控件拖拽的主窗口中實現。Standard中有常用的windows窗體控件,包括Label、input、Edit、Button、CheckBox、RadioButton、ListBox、ComboBox、Contex Menu


詳解:用Python+AutoIt實現界面工具開發過程


將需要的界面控件拖拽到主界面窗口後,就需要將按照實際需要對齊窗口。如下主界面有3個Lable標籤和3個Input輸入框。

詳解:用Python+AutoIt實現界面工具開發過程

對齊方法為按住Shift鍵同時選中需要對齊操作的按鈕,主要對齊方式如下):


詳解:用Python+AutoIt實現界面工具開發過程

對齊方式的描述都有小圖形,挺形象的,應該都知道每個對齊方式的作用了。可以自己拉幾個控件下來,每個嘗試一下看看效果。最終就能獲取你想要的了。

當控件對齊完成之後。可以執行Tools -> Generate Form Code獲取代碼用於後續的編輯了。

如下:

小編在這裡說句:我是一名python開發工程師,最近翻了以前的筆記,總結了工作這麼久的經驗,共整理了一套最新的python系統學習教程,包括從基礎的python腳本到web開發、爬蟲、數據分析、數據可視化、機器學習,面試寶典,面試寶典,面試寶典。想要這些資料的可以關注小編,並在後臺私信小編:“07”即可領取

詳解:用Python+AutoIt實現界面工具開發過程

提示:圖一,圖二中代碼是一起的!

詳解:用Python+AutoIt實現界面工具開發過程

AutoIt獲取界面輸入和調用外部命令

實現AutoIt界面,最主要是利用界面讓用戶輸入相關的參數。那麼程序中如何獲取用戶的輸入?主要是通過GUICtrlRead()函數,如需要獲取上述界面中用戶輸入的路徑、舊字符串、新字符串。

代碼如下:

詳解:用Python+AutoIt實現界面工具開發過程

獲取到用戶的輸入參數後就可以將參數傳遞給Python實現的業務邏輯了。AutoIt可以利用Run()函數調用外部命令。如Run("notepad.exe", "", @SW_SHOWMAXIMIZED)。在使用Run()調用之前可以利用Pyinstaller工具將Python業務處理邏輯.py文件編譯成可直接運行的.exe文件(編譯方法可以參考使用Pyinstaller轉換.py文件為.exe可執行程序)。這樣就可以直接使用Run()函數調用實現了。

調用的外部程序獲取參數的2種常見方式

1、界面輸入參數少(0~3個)。如果界面輸入參數很少,可以直接通過傳參的方式完,注意觀察下述調用AutoIt變量的方法。參考代碼如下:

Run(@ComSpec & " /c " & "D:\\temp\\dist\\process.exe " & '"'&$old_str&'"' & " " & '"'&$new_str&'"' & " " & '"'&$file_path&'"' ,"")

2、界面輸入參數多(比如大於3個)

建議可以採用配置文件方式寫入到.ini文件中。然後Python通過讀取配置文件方式獲取輸入。AutoIt將參數寫入.ini文件有現成的函數,非常方便。IniWrite()函數原型如下:

IniWrite ( "filename", "section", "key", "value" )

獲取外部程序輸出結果的2種方式

1、通過StdoutRead()函數獲取。這種方式獲取輸出不穩定,可能是我沒掌握到關鍵點。示例如下:

詳解:用Python+AutoIt實現界面工具開發過程

2、調用ipconfig命令並將結果輸出到文件,AutoIT通過讀取文件內容獲取。示例如下

詳解:用Python+AutoIt實現界面工具開發過程

以上就是本文的全部內容!

"


分享到:


相關文章: