PDA

Просмотр полной версии : Помощь с Tkinter.


Shelok_Kholmes
24.10.2023, 15:13
С помощью этой функции сделал регистрацию нажатия:







Python:






root
.
bind
(
""
,
change_text
)




, программа воспринимает нажатие клавиши только, если окно выделено, как сделать чтоб даже если выделено другое приложение, к примеру, браузер программа воспринимала нажатие клавиш.

Python_newbie
28.10.2023, 14:51
С помощью этой функции сделал регистрацию нажатия:







Python:






root
.
bind
(
""
,
change_text
)




, программа воспринимает нажатие клавиши только, если окно выделено, как сделать чтоб даже если выделено другое приложение, к примеру, браузер программа воспринимала нажатие клавиш.


Насколько я знаю, в tkinter нет данного функционала, но можно использовать библиотеку pynput. (pip install pynput). Она отслеживает нажатие любой клавиши

Снипет:






from
pynput
import
keyboard
def
on_key_press
(
key
)
:
print
(
key
)
# Принт нажатой клавиши
with
keyboard
.
Listener
(
on_press
=
on_key_press
)
as
listener
:
listener
.
join
(
)




Так-же можно проверять отдельно нажатую клавишу:

Снипет2:






import
sys
from
pynput
import
keyboard
def
on_key_press
(
key
)
:
if
key
==
keyboard
.
Key
.
space
:
print
(
"Пробел"
)
elif
key
==
keyboard
.
Key
.
esc
:
sys
.
exit
(
)
with
keyboard
.
Listener
(
on_press
=
on_key_press
)
as
listener
:
listener
.
join
(
)