Вы, вероятно, привязали CTRL + H к корню.
Причина, по которой это происходит, заключается в том, что событие отправляется в следующем порядке:
- Обратный вызов виджета
- Обратный вызов класса виджетов *
Корневой обратный вызов
* (отсюда и поведение по умолчанию)
Решение состоит в том, чтобы связать событие дважды. Один раз для самого текстового виджета с return "break"
и один раз для корня, чтобы обратный вызов вызывался и для других виджетов. return "break"
на виджете не позволит ему перейти к фазе 2 (следующей), откуда происходит нежелательное поведение по умолчанию.
Вы можете использовать такую утилиту, как эта
def k(handler):
"""decorates an event handler in such a way
that the default shortcut command is not triggered
same as event.preventDefault() in HTML5 but
as a decorator"""
def prevent_default(*event):
handler(event)
return 'break'
return prevent_default
связанный ответ для более подробной информации о каскадном обратном вызове отключение сочетания клавиш tkinter (2)