Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 9, 2023 15:22:34

Dmtq
Зарегистрирован: 2023-02-09
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Помощь с кодом и циклом

Добрый день. Подскажите новичку.
Есть change_prw - делает скрин участка экрана, сравнивает с образцом и меняет текст в rectangle_1.
Как сделать change_prw цикличной с задержкой?
sleep не помогает, а тормозит весь код. while True останавливает на себе код и не дает даже интерфейсу прогрузиться.

Всю голову сломал. Понимаю, что это параллельные процессы, но как реализовать?

 from PIL import Image, ImageChops
import pyautogui
import tkinter as tk
root = tk.Tk()
root.geometry("1920x70+0+580")
root.title('Helper')
root.overrideredirect(True)
root.configure(background='#1E2328')
root.attributes('-topmost',True)
rectangle_1 = tk.Label(root, text='PRW', bg='#1E2328', fg='#ff0', font=("Helvetica", 40))
rectangle_1.place(relx=0.0, rely=0.5, anchor='w')
def change_prw():
        screen = pyautogui.screenshot('F:/Py/temp.png',region=(0, 80, 900,500))
        image_1=Image.open('F:/py/temp.png')
        image_2=Image.open('F:/py/black.png')
        result=ImageChops.difference(image_1, image_2)
        result.save('result.jpg')
        if result.getbbox()==None:
            rectangle_1['text'] = 'ЧЕРНЫЙ ЭКРАН'
        else:
            rectangle_1['text'] = 'ВИДЕО'
change_prw()
   
btn = tk.Button(root, text="АНАЛИЗ",command=change_prw)
btn.place(relx=0.5, rely=0.5,anchor='w')
rectangle_2 = tk.Label(root, text='PGM', bg='#1E2328', fg='#ff0', font=("Helvetica", 40))
rectangle_2.place(relx=1.0, rely=0.5, anchor='e')
root.mainloop()

Спасибо

Офлайн

#2 Фев. 9, 2023 20:02:57

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1350
Репутация: +  118  -
Профиль   Отправить e-mail  

Помощь с кодом и циклом

  
import  tkinter as tk
 
def f():
    print('выполнилась функция f()')
    root.after(1000, f)
 
root = tk.Tk()
f()
root.mainloop()

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version