怎么在Python中利用AutoIt開發(fā)界面工具-創(chuàng)新互聯(lián)

怎么在Python中利用AutoIt開發(fā)界面工具?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

10年積累的成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有績溪免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

python可以做什么

Python是一種編程語言,內(nèi)置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,在許多領(lǐng)域中都有廣泛的應(yīng)用,例如最熱門的大數(shù)據(jù)分析,人工智能,Web開發(fā)等。

AutoIt工具安裝

Auto工具從官網(wǎng)下載,這里要注意的一點是要安裝全量的AutoIt編輯器。把如下兩個軟件下載,安裝步驟按照提示默認(rèn)操作就可以完成。如果只安裝第1個,就會缺少本文需要使用的Koda(FormDesigner)菜單欄。

怎么在Python中利用AutoIt開發(fā)界面工具

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

怎么在Python中利用AutoIt開發(fā)界面工具

AutoIt界面繪制和對齊

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

怎么在Python中利用AutoIt開發(fā)界面工具

將需要的界面控件拖拽到主界面窗口后,就需要將按照實際需要對齊窗口。如下主界面有3個Lable標(biāo)簽和3個Input輸入框。

怎么在Python中利用AutoIt開發(fā)界面工具

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

怎么在Python中利用AutoIt開發(fā)界面工具

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

當(dāng)控件對齊完成之后。可以執(zhí)行Tools -> Generate Form Code獲取代碼用于后續(xù)的編輯了。如下

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section 
$Form1_1 = GUICreate("文件名替換工具", 446, 198, 218, 133)
$Label1 = GUICtrlCreateLabel("路徑", 40, 32, 28, 17)
$Label2 = GUICtrlCreateLabel("舊字符串", 40, 80, 52, 17)
$Label3 = GUICtrlCreateLabel("新字符串", 40, 128, 52, 17)
$Input1 = GUICtrlCreateInput("", 120, 32, 257, 21)
$Input2 = GUICtrlCreateInput("", 120, 80, 257, 21)
$Input3 = GUICtrlCreateInput("", 120, 128, 257, 21)
$Button1 = GUICtrlCreateButton("確定", 112, 160, 57, 25)
$Button2 = GUICtrlCreateButton("退出", 224, 160, 65, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
  $nMsg = GUIGetMsg()
  Switch $nMsg
    Case $GUI_EVENT_CLOSE
      Exit

    Case $Label1
    Case $Label2
    Case $Label3
  EndSwitch
WEnd

AutoIt獲取界面輸入和調(diào)用外部命令

實現(xiàn)AutoIt界面,最主要是利用界面讓用戶輸入相關(guān)的參數(shù)。那么程序中如何獲取用戶的輸入?主要是通過GUICtrlRead()函數(shù),如需要獲取上述界面中用戶輸入的路徑、舊字符串、新字符串。代碼如下:

$file_path = GUICtrlRead($Input1)
$old_str = GUICtrlRead($Input2)
$new_str = GUICtrlRead($Input3)

獲取到用戶的輸入?yún)?shù)后就可以將參數(shù)傳遞給Python實現(xiàn)的業(yè)務(wù)邏輯了。AutoIt可以利用Run()函數(shù)調(diào)用外部命令。如Run("notepad.exe", "", @SW_SHOWMAXIMIZED)。在使用Run()調(diào)用之前可以利用Pyinstaller工具將Python業(yè)務(wù)處理邏輯.py文件編譯成可直接運行的.exe文件(編譯方法可以參考使用Pyinstaller轉(zhuǎn)換.py文件為.exe可執(zhí)行程序)。這樣就可以直接使用Run()函數(shù)調(diào)用實現(xiàn)了。

調(diào)用的外部程序獲取參數(shù)的2種常見方式

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

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

2、界面輸入?yún)?shù)多(比如大于3個)

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

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

獲取外部程序輸出結(jié)果的2種方式

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

$op = Run(@ComSpec & " /c " & "D:\temp\dist\process.exe " & '"'&$old_str&'"' & " " & '"'&$new_str&'"' & " " & '"'&$file_path&'"' ,"",@SW_HIDE,$STDOUT_CHILD + $STDERR_CHILD)
$strResult = ""
while 1
  $line = StdoutRead($op)
  if @error Then ExitLoop
  $strResult = $strResult & $line
WEnd
ConsoleWrite($strResult)

2、調(diào)用ipconfig命令并將結(jié)果輸出到文件,AutoIT通過讀取文件內(nèi)容獲取。示例如下

$strResult = ""
Local $ipconfig_result_file = @ScriptDir & "\ipconfig_result_file.txt"
ConsoleWrite(@ComSpec & " /c " & "ipconfig > " & '"'&$ipconfig_result_file&'"')
RunWait(@ComSpec & " /c " & "ipconfig > " & '"'&$ipconfig_result_file&'"', "",@SW_HIDE)
$fp = FileOpen($ipconfig_result_file, 0)
if $fp <> -1 Then
 While 1
  $line= FileReadLine($fp)
  If @error = -1 Then ExitLoop
  $strResult = $strResult & $line & @CR
 Wend
EndIf
FileClose($fp)
ConsoleWrite($strResult)

寫在最后

本文為界面開發(fā)實現(xiàn)有困難的(如本人)同學(xué)提供一種可以快速實現(xiàn)界面開發(fā)的思路。針對AutoIt語言個人也是現(xiàn)學(xué)現(xiàn)用,沒有太多的深入研究。另外AutoIt開發(fā)工具小巧、安裝方便、且AutoIt幫助手冊中有所有函數(shù)定義和使用的非常詳細(xì)介紹,有興趣的同學(xué)可以了解一下。上手很容易。最后針對AutoIt+Python實現(xiàn)界面工具開發(fā)的總結(jié)步驟主要為:

1、利用ScitTe編輯器中的Koda FormDesigner組件拖拽、對齊快速實現(xiàn)界面原型開發(fā)。并將界面原型反向生成獲取源碼。

2、利用Python實現(xiàn)核心業(yè)務(wù)邏輯處理,通過pyinstaller將.py文件轉(zhuǎn)換成可直接運行.exe文件。

3、利用GUICtrlRead()函數(shù)獲取用戶界面輸入,利用Run()函數(shù)調(diào)用.exe程序并將參數(shù)傳遞進(jìn)去,實現(xiàn)業(yè)務(wù)處理。

4、工具開發(fā)完成。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司的支持。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、網(wǎng)站設(shè)計器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當(dāng)前文章:怎么在Python中利用AutoIt開發(fā)界面工具-創(chuàng)新互聯(lián)
文章位置:http://www.bm7419.com/article18/dgcsdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、響應(yīng)式網(wǎng)站、品牌網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化外貿(mào)建站、網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)