import tkinter as tk
import pyautogui
def check_condition():
x, y = pyautogui.position()
if x > 1806 and x < 1873 and y > 7 and y < 63:
# Если условие истинно, отображаем окно
root.deiconify() # Показать окно, если оно скрыто
root.after(100, check_condition) # Проверить снова через 100 миллисекунд
else:
# Иначе скрываем окно
root.withdraw() # Скрыть окно
root.after(100, check_condition) # Проверить снова через 100 миллисекунд
root =
tk.Tk ()
root.withdraw() # Скрыть окно изначально
# Добавьте содержимое вашего окна (кнопки, текст и т.д.) здесь
check_condition() # Запуск проверки условия
root.mainloop()
Объяснение:
1. Создание окна: Создаем главное окно
tk.Tk (), но сразу же скрываем его с помощью root.withdraw().
2. Функция check_condition:
o Получает текущие координаты мыши.
o Проверяет условие (x > 1806 and x < 1873 and y > 7 and y < 63).
o Если условие истинно:
Показываем окно, если оно скрыто, с помощью root.deiconify().
o Если условие ложно:
Скрываем окно с помощью root.withdraw().
o Используем root.after(100, check_condition), чтобы функция вызывала саму себя каждые 100 миллисекунд. Это создает цикл проверки условия.
3. Запуск цикла проверки: Вызываем check_condition() один раз, чтобы запустить цикл проверки.
4. Запуск основного цикла Tkinter: root.mainloop() запускает главный цикл обработки событий Tkinter, который отслеживает события, такие как нажатия клавиш, движения мыши и обновления окна.
Теперь окно будет появляться, когда курсор мыши находится в заданной области, и исчезать, когда курсор покидает эту область.