国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python實現(xiàn)鼠標(biāo)拖動的監(jiān)視

這篇具有很好參考價值的文章主要介紹了Python實現(xiàn)鼠標(biāo)拖動的監(jiān)視。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

模塊準(zhǔn)備

具體步驟?

設(shè)置監(jiān)視函數(shù)

調(diào)用監(jiān)視器

注意

結(jié)束語


模塊準(zhǔn)備

from pynput.mouse import Listener

這是用來監(jiān)視鼠標(biāo)的,pynput模塊中還有監(jiān)視鍵盤的。


具體步驟?

????????首先,設(shè)置一個全局變量,這個全局變量是用來記錄鼠標(biāo)按下和釋放的

drag_flag = True

設(shè)置監(jiān)視函數(shù)

def on_click(x, y, button, pressed):
    global drag_flag, mouse_press, mouse_release
    if pressed:
        print("按下", x, y)
        mouse_press = (x, y)
        drag_flag = False
    else:
        mouse_release = (x, y)
        print("釋放", mouse_release)
        drag_flag = True
    if drag_flag:
        # 按下和釋放的坐標(biāo)不相等
        if mouse_press != mouse_release:
            print("這是鼠標(biāo)拖動")
        else:
            print("這是鼠標(biāo)點擊")
    else:
        pass

????????注:這里on_click函數(shù)里面有四個參數(shù),你可以不去使用,但是得定義出來,否則后來代碼會報錯。

? ? ? ? ①首先將drag_flag, mouse_press, mouse_release參數(shù)設(shè)置為全局變量,使得代碼后面能使用,如果鼠標(biāo)按下,監(jiān)視器會監(jiān)視鼠標(biāo)按下的位置,我們可以打印輸出,這里我們使用mouse_press接受這個坐標(biāo),并將drag_flag設(shè)置為False;同樣的,如果鼠標(biāo)沒有按下,我們用mouse_release接收其釋放位置,并將drag_flag設(shè)置為True

????????②接著判斷drag_flag是否為True,如果為是,則執(zhí)行判斷語句,判斷mouse_press是否等于mouse_release,也就是按下和釋放的坐標(biāo)位置是否一致,如果一致,說明是鼠標(biāo)點擊,否則就是鼠標(biāo)拖動,這里你可以自己加你想要的功能。如果drag_flag是否為False,執(zhí)行else語句,pass直接跳過。

調(diào)用監(jiān)視器

pynput自帶對鼠標(biāo)和鍵盤的監(jiān)視,我們直接如下使用就可以

def main():
    with Listener(on_click=on_click) as listener:
        listener.join()

注意

監(jiān)視會一直執(zhí)行on_click函數(shù),因此如果沒有drag_flag,也就是像下面這樣

def on_click(x, y, button, pressed):
    global mouse_press, mouse_release
    if pressed:
        print("按下", x, y)
        mouse_press = (x, y)
    else:
        mouse_release = (x, y)
        print("釋放", mouse_release)

    if mouse_press != mouse_release:
        print("這是鼠標(biāo)拖動")
    else:
        print("這是鼠標(biāo)點擊")

????????運行第一個if后會立刻進(jìn)入第二個if,也就是你鼠標(biāo)剛按下,打印了按下的坐標(biāo)位置后,立刻進(jìn)入判斷鼠標(biāo)按下和釋放的坐標(biāo)是否相同,雖然我這里沒有給mouse_release參數(shù)設(shè)置初始值,但是這里按下坐標(biāo)和釋放坐標(biāo)一般來說是不相同的,所以會打印“這是鼠標(biāo)拖動”,然而這時候我們僅僅是按下鼠標(biāo),沒有進(jìn)行拖動,所以不是我們要實現(xiàn)的功能。

? ? ? ? 但是加入drag_flag且在按下后置為False,釋放后置為True,可以很好解決這個,因為按下后,drag_flag=False,進(jìn)入不了判斷按下坐標(biāo)和釋放坐標(biāo)比較的if判斷,只有當(dāng)釋放鼠標(biāo)后,drag_flag=True,然后才會進(jìn)入這個判斷,最終實現(xiàn)我們想要的功能。

全部代碼如下:

from pynput.mouse import Listener
# 全局變量
drag_flag = True
def on_click(x, y, button, pressed):
    global drag_flag, mouse_press, mouse_release
    if pressed:
        print("按下", x, y)
        mouse_press = (x, y)
        drag_flag = False
    else:
        mouse_release = (x, y)
        print("釋放", mouse_release)
        drag_flag = True
    if drag_flag:
        # 按下和釋放的坐標(biāo)不相等
        if mouse_press != mouse_release:
            print("這是鼠標(biāo)拖動")
        else:
            print("這是鼠標(biāo)點擊")
    else:
        pass

def main():
    with Listener(on_click=on_click) as listener:
        listener.join()

if __name__ == '__main__':
    main()

結(jié)束語

? ? ? ? 筆者想著是需要一個能獲取鼠標(biāo)選中的文字,但是發(fā)現(xiàn)pythonwin32都沒有能實現(xiàn)這樣的接口,因此想著用什么方式實現(xiàn)呢,比較簡單的就是監(jiān)視鼠標(biāo)按下和釋放,但是網(wǎng)上對于這塊,講解的人較少,這里所講的,也只是我實踐出來的,對于pynput的監(jiān)視,筆者了解甚少,想看源代碼,跳轉(zhuǎn)后貌似看不出啥。

? ? ? ? 后續(xù)會繼續(xù)更新這方面的內(nèi)容!!文章來源地址http://www.zghlxwxcb.cn/news/detail-652416.html

到了這里,關(guān)于Python實現(xiàn)鼠標(biāo)拖動的監(jiān)視的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • pynput:用Python輕松掌握鼠標(biāo)和鍵盤的控制

    pynput:用Python輕松掌握鼠標(biāo)和鍵盤的控制

    引言 控制鼠標(biāo)和鍵盤是自動化任務(wù)中的常見需求。在Python中,pynput庫是一種強(qiáng)大的工具,可以幫助我們實現(xiàn)這些操作。本文將詳細(xì)介紹pynput庫的使用方法,并提供一些示例幫助讀者快速上手。 1. 安裝pynput庫 首先,我們需要安裝pynput庫。可以使用pip命令來進(jìn)行安裝: 2. 控制鼠

    2024年02月04日
    瀏覽(26)
  • python pyautogui+pynput鼠標(biāo)鍵盤自動控制與監(jiān)聽

    參考https://blog.csdn.net/hfy1237/article/details/127960423 官方文檔 https://pyautogui.readthedocs.io/en/latest/ 1、基本函數(shù) 常用函數(shù)列表 函數(shù)名 功能 基本 pyautogui.size() 返回包含分辨率的元組 pyautogui.PAUSE 每個函數(shù)的停頓時間,默認(rèn)0.1s pyautogui.FAILSAFE 是否開啟防故障功能,默認(rèn)True 鍵盤 pyautogui

    2024年02月11日
    瀏覽(29)
  • Python 有趣的模塊之pynupt——通過pynput控制鼠標(biāo)和鍵盤

    Python 有趣的模塊之pynupt——通過pynput控制鼠標(biāo)和鍵盤

    ??????學(xué)會控制鼠標(biāo)和鍵盤是實現(xiàn)自動化的捷徑!?????? pynput是第三方庫,所以在使用pynput之前需要下載pynput包。 下載方式1: 在終端輸入 pip install pynput 下載包 下載方式2: 進(jìn)入pypi官網(wǎng):https://pypi.org??搜索 pynput ??選擇版本??點擊pip install pynput 下載方式3: 點擊

    2023年04月09日
    瀏覽(33)
  • Python+turtle交互式繪圖:可以用鼠標(biāo)拖動的小海龜

    Python+turtle交互式繪圖:可以用鼠標(biāo)拖動的小海龜

    功能描述:代碼運行后,在窗口上顯示3個小海龜,使用鼠標(biāo)拖動小海龜時可以動態(tài)改變窗口顏色,如下圖所示。 說明:本例代碼主體部分來自turtle Demo,我稍微修改了一下,重點增加了注釋,方便閱讀和理解。 參考代碼: ----------相關(guān)閱讀---------- 教學(xué)課件 1900頁P(yáng)ython系列P

    2023年04月08日
    瀏覽(26)
  • Python【Matplotlib】交互式時間序列繪圖,將x軸設(shè)置為日期時間格式并和鼠標(biāo)拖動縮放相結(jié)合

    Python【Matplotlib】交互式時間序列繪圖,將x軸設(shè)置為日期時間格式并和鼠標(biāo)拖動縮放相結(jié)合

    上篇博客:python【matplotlib】鼠標(biāo)拖動滾動縮放坐標(biāo)范圍和拖動圖例共存,得到啟發(fā),我們已經(jīng)可以通過鼠標(biāo)拖動縮放坐標(biāo)范圍和移動圖例,來實現(xiàn)動態(tài)交互式繪圖了,對于x軸是時間序列的繪圖需求,能否也實現(xiàn)動態(tài)交互式繪圖呢? 答案是肯定的,接下來我將詳細(xì)描述其實現(xiàn)

    2024年03月13日
    瀏覽(26)
  • python pynput監(jiān)聽鍵盤

    2024年02月11日
    瀏覽(19)
  • 【Python_Selenium學(xué)習(xí)筆記(五)】基于Selenium模塊實現(xiàn)鼠標(biāo)操作

    【Python_Selenium學(xué)習(xí)筆記(五)】基于Selenium模塊實現(xiàn)鼠標(biāo)操作

    為了模擬鼠標(biāo)操作,Selenium 模塊提供了 Actionchains 類,可以模仿人的幾乎任何鼠標(biāo)行為操作; 在此篇文章主要介紹 Actionchains類 的常用方法,使用流程,并以具體的示例進(jìn)行展示。 perform():執(zhí)行ActionChains中存儲的行為; context_click(on_element=None):點擊鼠標(biāo)右鍵; double_click(on_

    2024年02月13日
    瀏覽(26)
  • [Python進(jìn)階] 操縱鍵盤:Pynput

    6.7.1 press、release 按下或釋放某個按鍵。 6.7.2 tap 按下并彈起某個按鍵,按鍵只能為單個字符。否則報錯。 輸入字符串及組合鍵

    2024年02月05日
    瀏覽(41)
  • 【pynput】鼠標(biāo)行為追蹤并模擬

    【pynput】鼠標(biāo)行為追蹤并模擬

    利用本文內(nèi)容從事的任何犯法行為和開發(fā)與本人無關(guān),請理性利用技術(shù)服務(wù)大家,創(chuàng)建美好和諧的社會,讓人們生活從繁瑣中變得更加具有創(chuàng)造性! 這前面文章中,提到了【實時屏幕捕獲】的內(nèi)容,這篇文章則是為大家介紹在現(xiàn)代計算機(jī)環(huán)境中,鼠標(biāo)行為追蹤的有效的方法,

    2024年02月04日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包