Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как в python сделать чтобы пока условие верно, было видно окно, а как только оно перестаёт быть таковым окно исчезает??

IrbisPro Мастер (2320), на голосовании 2 месяца назад
 import tkinter  
import pyautogui

loop = 1
while loop == 1:
x, y = pyautogui.position()
if x > 1806 and x < 1873 and y > 7 and y < 63:
#создание окна
else:
#разрушение окна
Голосование за лучший ответ
Инспектор Жопидý Оракул (86071) 3 месяца назад
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, который отслеживает события, такие как нажатия клавиш, движения мыши и обновления окна.
Теперь окно будет появляться, когда курсор мыши находится в заданной области, и исчезать, когда курсор покидает эту область.
Shadow Time Ученик (219) 3 месяца назад
помоему Tk().mainloop() надо дописать
import tkinter
import pyautogui

loop = 1
while loop == 1:
x, y = pyautogui.position()
if x > 1806 and x < 1873 and y > 7 and y < 63:
#создание окна
else:
#разрушение окна
Tk().mainloop()
Пользовaтель yдалён Мыслитель (7868) 3 месяца назад
зачем тебе питон?
IrbisProМастер (2320) 3 месяца назад
для баланса вселенной
Пользовaтель yдалён Мыслитель (7868) IrbisPro, а зачем
Похожие вопросы