python_GUI

특정위치클릭

python_DV 2023. 1. 29. 18:00
728x90

from tkinter import *
import pyautogui

def mouse_position(event=None): #바인딩했을때 event도 설정해 주어야 함
    x_po,y_po=pyautogui.position()
    input_entry1.delete(0, END)
    input_entry1.insert(INSERT, x_po)
    input_entry2.delete(0, END)
    input_entry2.insert(INSERT, y_po)


def clicks_sp():
    pyautogui.PAUSE =1
    pyautogui.FAILSAFE =True
        
    pyautogui.click(int(input_entry1.get()),int(input_entry2.get()), button='left', clicks=1, interval=int(input_entry3.get()))
    xc1_po,yc1_po=pyautogui.position()
    while xc1_po==int(input_entry1.get()) and yc1_po==int(input_entry2.get()):
        pyautogui.click(int(input_entry1.get()),int(input_entry2.get()), button='left', clicks=1, interval=int(input_entry3.get()))
        xc1_po,yc1_po=pyautogui.position()
        

win = Tk()
text= Text(win,wrap=WORD)

win.geometry('400x100+0+0')
win.title('auto_work')

ch_title=LabelFrame(win, text='spot_click')
ch_title.grid(column=0, row=1, padx=8, pady=5)

chlb=Label(ch_title, text="클릭위치 및 인터벌(X,Y,S):",width=20).grid(column=0, row=0,sticky='W')
input_entry1=Entry(ch_title, width=6)
input_entry1.grid(column=1, row=0,sticky='W')
input_entry2=Entry(ch_title, width=6)
input_entry2.grid(column=2, row=0,sticky='W')
input_entry3=Entry(ch_title, width=6)
input_entry3.grid(column=3, row=0,sticky='W')
lbID4=Label(ch_title, text="",width=1).grid(column=4, row=0,sticky='W')
b1 = Label(ch_title,text="Mouse_position_enter",width=20)
b1.grid(column=0, row=1,sticky='W')
b1.bind('',mouse_position) # 버튼에 enter 키를 바인딩하려면 해당 버튼과 전체 GUI 변수를 모두 바인딩해야 함
win.bind('',mouse_position)
b2 = Button(ch_title,text="click",width=18,command=clicks_sp)
b2.grid(column=1, columnspan=3, row=1,sticky='E')

win.mainloop()
728x90
반응형