매크로 만드는데 하나도 모르겠습니다.

조회수 406회

완전 쌩 초보입니다. jupyter notebook으로 급하게 만들어봤는데 작동이 안되네요.

좌표1이 흰색이 될때 좌표2 버튼을 누르는 건데

import keyboard

import click

import time

import pyautogui as pag

from PIL import ImageGrab

from tkinter import *

win = Tk()

win.title("auto")

win.geometry("550x250")

win.option_add("*font", "고딕 20")

lab1 = Label(win)

lab1.config(text = "종료지점")

lab1.grid(column = 0, row = 0, padx=20, pady=20)

lab2 = Label(win)

lab2.config(text = "다음버튼")

lab2.grid(column = 0, row = 10, padx=20, pady=20)

ent1 = Entry(win)

ent1.grid(column = 1, row = 0, padx=20, pady=20)

ent1.insert(0, "1032, 736")

ent1.bind("<Button-1>", clear1)

ent2= Entry(win)

ent2.insert(0, "990, 704")

ent2.bind("<Button-1>", clear2)

ent2.grid(column = 1, row = 10, padx=20, pady=20)

ok_rgb = (255, 255, 255)

time_pos = (ent1.get())

next_btn = (ent2.get())

def start():

  while True:

        screen = ImageGrab.grab()

        rgb = screen.getpixel(time_pos)

        time.sleep(2)

        if rgb == ok_rgb:

            time.sleep(5)

            pag.click(next_btn)

            break

def end():

 **start를 종료하게 하고싶습니다.**

btn1 = Button(win)

btn1.config(text="시작")

btn1.grid(column = 0, row = 20, padx=20, pady=20)

btn1.config(command = start)


btn2 = Button(win)

btn2.config(text="종료")

btn2.grid(column = 1, row = 20, padx=20, pady=20)

btn2.config(command = end)

win.mainloop()

처음이라서 이렇게 올려도 되는지 모르겠네요.

1 답변

  • "start를 종료하게 하고싶습니다."

    이게 목적이신가요? 그냥 전역변수 하나 설정해두시고

    start 함수에 들어가자마자 True시켜주고

    while True: 대신 while [변수명]

    end함수에 해당 변수 False 해주면될꺼같은데요

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)