Привязки клавиш 1-5 не работают Tkinter

Я использую Tkinter в Python для небольшого проекта, и мне нужно использовать цифровую клавиатуру для привязки клавиш. Однако клавиши 1, 2, 3, 4 и 5 не отвечают. Все остальные ключи работают просто отлично. Например:

from tkinter import *
window = Tk()
window.title('Key Test')
c = Canvas(window, height=500, width=500)
c.pack()
word = c.create_text(250, 250, text='Spam')
def transformation(event):
    c.itemconfig(word, text='Spamalot')
c.bind_all('<6>', transformation)

Приведенный выше код работает отлично. Но если в связывании указано «5», а не «6», программа перестает отвечать на запросы. Я пытался сделать это в других окнах, и я даже пытался использовать другую клавиатуру.
Ничто не похоже на работу. Может кто-нибудь пролить свет на эту проблему?

4 голоса | спросил Edmond301 20 J000000Friday18 2018, 19:01:45

1 ответ


0
Понятия не имею, почему ---- +: = 0 =: + ---- работает, но ключевые события официально называются ---- +: = 1 =: + ---- , см. Страницу руководства по keysyms:РЕДАКТИРОВАТЬ На основе предложения Джейсона Харпера и Майка-СМТ я посмотрел исходный код Tk (в ---- +: = 3 =: + ---- ), и он действительно делает это:Таким образом, ---- +: = 5 =: + ---- to ---- +: = 6 =: + ---- действительно имеют специальную оболочку как указатель устройства /кнопки мыши.Sneaky.
ответил Florian Weimer 20 J000000Friday18 2018, 19:18:21

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132