Найти - Пользователи
Полная версия: Выполнить функцию если пользователь меняет текущее диалоговое окно?
Начало » Python для экспертов » Выполнить функцию если пользователь меняет текущее диалоговое окно?
1
gelius
Возможно?
Alex.Pro.
Насколько я могу понять вопрос - возможно. Например, привязав к окну обработку события <<Leave>>. Или к другому окну - событие <<Enter>>.
gelius
Идея не понятна, можно пример?
Думал процесс оставить в фоне и после нажатия на значек панели задачь или “alt - tab”, отслеживать изменения последовательности в списке диалоговых окон,.но реализовать не получилось.
Получил список и используемое в данный момент диалоговое окно:
 import pygetwindow
my_list = (pygetwindow.getAllTitles()) # получение списка открытых окон
new_list = [] # удаление пустых элементов из списка ''
for item in my_list:
    if item != '':
        new_list.append(item)
print(new_list)
first_element = new_list[0] # получение используемого в данный момент окна
print(first_element)
Alex.Pro.
Видимо, в первый раз я понял вопрос совсем неправильно. Мониторить окна за пределами собственной программы - задача не для новичка (по крайней мере - не для меня).
А пример решения задачи можно посмотреть здесь.
xam1816
  
import tkinter as tk
 
def on_focus_lost():
    print("Окно потеряло фокус")
 
root = tk.Tk()
 
def check_focus():
    if root.focus_get() is None:  # Если фокус не на окне
        on_focus_lost()
    root.after(1000, check_focus)  # Проверка каждую секунду
 
check_focus()
 
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