Неисправное связывание клавиш с пакетом Python Prompt_toolkitPython

Программы на Python
Anonymous
Неисправное связывание клавиш с пакетом Python Prompt_toolkit

Сообщение Anonymous »

У меня есть этот блок кода в моем приложении CLI на Python:

Код: Выделить всё

from prompt_toolkit.key_binding import KeyBindings
from prompt_toolkit.keys import Keys
from prompt_toolkit.application import run_in_terminal
#Other irrelevent code
binding = KeyBindings()
@binding.add('c-l')
def _(event):
clear_screen()
@binding.add('c-x')
def _(event):
def save():
save = confirm("Wanna save the current state: ",suffix="[y/N]" )
if save:
print(to_do_list.save_current_state(json_data_file))
else:
print('Data not saved.')
event.app.exit()
run_in_terminal(save)
Комбинация клавиш Ctrl+l работает безупречно, а комбинация клавиш Ctrl+X — нет.

Будем очень благодарны за любую помощь.
Я искал и просматривал документацию, но это не помогло.

Я попробовал это исправление, предоставленное Claude AI:

Код: Выделить всё

from prompt_toolkit.application import get_app

@binding.add('c-x')
def _(event):
app = get_app()

def save():
save_confirmed = confirm("Do you want to save the current state? ", suffix="[y/N] ")
if save_confirmed:
print(to_do_list.save_current_state(json_data_file))
else:
print('Data not saved.')
app.exit()

app.loop.call_soon_threadsafe(save)
Но это не сработало.


Подробнее здесь: https://stackoverflow.com/questions/790 ... it-package

Вернуться в «Python»