У меня есть простое событие копирования и вставки, которое должно запускать функцию во время работы моей программы:

root = tkinter.Tk()
root.bind('<Control-c>', parse_item) 
root.mainloop()

parse_item захватывает содержимое буфера обмена и делает некоторые вычисления.

Проблема, с которой я столкнулся:

Это работает, только если моя программа находится в фокусе. Мне нужно быть с мышью в программе, тогда сработает событие связывания.

Что мне нужно:

Событие связывания также должно инициироваться, если программа не в фокусе (например, программа свернута). Он должен всегда срабатывать во время работы программы.

-1
Roman 20 Дек 2019 в 17:48

1 ответ

Это работает, только если моя программа находится в фокусе. Мне нужно быть с мышью в программе, тогда сработает событие связывания.

Вы не можете сделать это с Tkinter. Он может работать только с событиями в виджетах, которыми он управляет, и только тогда, когда у него есть фокус. Вам придется использовать специальный инструмент для платформы для перехвата событий из других программ.

0
Bryan Oakley 20 Дек 2019 в 15:37