Найти - Пользователи
Полная версия: Помощь с кодом и циклом
Начало » Python для новичков » Помощь с кодом и циклом
1
Dmtq
Добрый день. Подскажите новичку.
Есть 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()

Спасибо
xam1816
  
import  tkinter as tk
 
def f():
    print('выполнилась функция f()')
    root.after(1000, f)
 
root = tk.Tk()
f()
root.mainloop()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB