欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用python控制Qt程序的示例詳解

 更新時(shí)間:2023年08月15日 10:22:26   作者:點(diǎn)墨  
這篇文章主要為大家詳細(xì)介紹了如何利用python實(shí)現(xiàn)控制Qt程序,從而進(jìn)行文本輸入,按鈕點(diǎn)擊等組件控制,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

使用python控制Qt程序,進(jìn)行文本輸入,按鈕點(diǎn)擊等組件控制

方法一

思路:使用pywin32獲取窗口句柄,獲取窗口位置,根據(jù)組件相對定位與窗口定位得到組件絕對定位,模擬鼠標(biāo)按下,鍵盤輸入即可

安裝

pip install pywin32

源碼

import pyautogui
import win32api
import win32gui
import pyperclip
def findWindow(title):
    windows = pyautogui.getWindowsWithTitle(title)
    if(len(windows) == 0):
        raise Exception("未找到窗口")
    return windows[0]
def PushButtonClick(hwd,relatePos):
    # 模擬按鈕點(diǎn)擊
    curPosi = win32api.GetCursorPos()
    hwdPosi = win32gui.GetWindowRect(hwd)
    win32api.SetCursorPos([hwdPosi[0]+relatePos[0],hwdPosi[1]+relatePos[1]])
    pyautogui.click()
    pyautogui.sleep(0.3)
    win32api.SetCursorPos(curPosi)
def LineEditInput(hwd,relatePos,value):
    # 模擬輸入框輸入
    curPosi = win32api.GetCursorPos()
    hwdPosi = win32gui.GetWindowRect(hwd)
    win32api.SetCursorPos([hwdPosi[0] + relatePos[0], hwdPosi[1] + relatePos[1]])
    pyautogui.click()
    pyperclip.copy(value)
    pyautogui.hotkey('ctrl','v')
    pyautogui.sleep(0.3)
    win32api.SetCursorPos(curPosi)
def main():
    hwd = win32gui.FindWindow(None,"Test")
    win32gui.SetForegroundWindow(hwd)
    LineEditInput(hwd, [140, 70], "測試")
    PushButtonClick(hwd,[300,70])
main()

效果圖

方法二

思路:使用uiautomation進(jìn)行組件的控制

uiautomation是yinkaisheng開發(fā)的基于微軟UIAutomation API的一個python模塊,支持自動化Win32,MFC,WPF,Modern UI(Metro UI), Qt, IE, Firefox等UI框架

安裝

pip install uiautomation

源碼

import uiautomation
def getAllControls(control,map):
    if len(control.GetChildren()) != 0:
        for child in control.GetChildren():
            getAllControls(child,map)
    if map.get(control.ControlTypeName) != None:
        map[control.ControlTypeName].append(control)
    else:
        map[control.ControlTypeName] = []
        map[control.ControlTypeName].append(control)
def main():
    control = uiautomation.WindowControl(searchDepth=1,Name="Test")
    controlList = {}
    getAllControls(control,controlList)
    edit = controlList.get("EditControl")[0]
    edit.SendKeys("測試")
    btn = controlList.get("ButtonControl")[3]
    btn.Click()
main()

效果圖

到此這篇關(guān)于利用python控制Qt程序的示例詳解的文章就介紹到這了,更多相關(guān)python控制Qt程序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python 實(shí)現(xiàn)關(guān)聯(lián)規(guī)則算法Apriori的示例

    python 實(shí)現(xiàn)關(guān)聯(lián)規(guī)則算法Apriori的示例

    這篇文章主要介紹了python 實(shí)現(xiàn)關(guān)聯(lián)規(guī)則算法Apriori的示例,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • pygame可視化幸運(yùn)大轉(zhuǎn)盤實(shí)現(xiàn)

    pygame可視化幸運(yùn)大轉(zhuǎn)盤實(shí)現(xiàn)

    這篇文章主要介紹了pygame可視化幸運(yùn)大轉(zhuǎn)盤實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Python 類的特殊成員解析

    Python 類的特殊成員解析

    這篇文章主要介紹了Python 類的特殊成員介紹,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-06-06
  • Python實(shí)現(xiàn)調(diào)用jar或執(zhí)行java代碼的方法詳解

    Python實(shí)現(xiàn)調(diào)用jar或執(zhí)行java代碼的方法詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)調(diào)用jar或執(zhí)行java代碼的方法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python高級過濾器之filter函數(shù)詳解

    Python高級過濾器之filter函數(shù)詳解

    在Python中,filter()是一個非常有用的內(nèi)置函數(shù),它能夠根據(jù)指定的函數(shù)來篩選出可迭代對象中滿足條件的元素,本文將從入門到精通,全面介紹filter()函數(shù)的用法和相關(guān)知識點(diǎn)
    2023-08-08
  • Python部署web開發(fā)程序的幾種方法

    Python部署web開發(fā)程序的幾種方法

    本篇文章主要介紹了Python部署web開發(fā)程序的幾種方法,具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-05-05
  • 關(guān)于numpy版本兼容問題解決方案

    關(guān)于numpy版本兼容問題解決方案

    這篇文章主要給大家介紹了關(guān)于numpy版本兼容問題解決方案的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用numpy具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-10-10
  • python神經(jīng)網(wǎng)絡(luò)Keras常用學(xué)習(xí)率衰減匯總

    python神經(jīng)網(wǎng)絡(luò)Keras常用學(xué)習(xí)率衰減匯總

    這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)Keras常用學(xué)習(xí)率衰減匯總,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Python計(jì)算任意多邊形間的重疊面積的示例代碼

    Python計(jì)算任意多邊形間的重疊面積的示例代碼

    最近有個作業(yè),給定的數(shù)據(jù)為多邊形的各個頂點(diǎn),為N*2的矩陣,N 為多邊形的頂點(diǎn)個數(shù),計(jì)算任意兩個多邊形重疊面積計(jì)算,本文就來詳細(xì)的介紹一下
    2021-08-08
  • 教你用Python寫一個京東自動下單搶購腳本

    教你用Python寫一個京東自動下單搶購腳本

    很多朋友都有網(wǎng)購搶購限量商品的經(jīng)歷,有時(shí)候蹲點(diǎn)搶怎么也搶不到,今天小編帶你們學(xué)習(xí)怎么用Python寫一個京東自動下單搶購腳本,以后再也不用拼手速拼網(wǎng)速啦,快來一起看看吧
    2023-03-03

最新評論