python tkinter как связать ключ с кнопкой

Новое для программирования и особенно для python и tKinter. Как я могу создать способ привязки клавиши «s» к кнопке или функции sharpen ? Любая помощь была бы потрясающей.

 from Tkinter import * from PIL import Image, ImageTk, ImageFilter, ImageEnhance class Application(Frame): def __init__(self, master=None): Frame.__init__(self, master) master.wm_title("Image examples") self.pack() self.createWidgets() def createWidgets(self): self.img = Image.open("lineage.jpg") self.photo1 = ImageTk.PhotoImage(self.img.convert("RGB")) self.label1 = Label(self, image=self.photo1) self.label1.grid(row=0, column=0, padx=5, pady=5, rowspan=10) self.photo2 = ImageTk.PhotoImage(self.img.convert("RGB")) self.label2 = Label(self, image=self.photo2) self.label2.grid(row=0, column=1, padx=5, pady=5, rowspan=10) button5 = Button(self, text="Sharpen", command=self.sharpen) button5.grid(row=4, column= 2, sticky = N) def sharpen(self): img2 = self.img.filter(ImageFilter.SHARPEN) self.photo2 = ImageTk.PhotoImage(img2) self.label2 = Label(self, image=self.photo2) self.label2.grid(row=0, column=1, padx=5, pady=5, rowspan=10) 

2 Solutions collect form web for “python tkinter как связать ключ с кнопкой”

Вам нужно сделать два изменения:

  1. Добавить

     master.bind('s', self.sharpen) 

    до __init__ . (Привязка к кадру, self , похоже, не работает).

  2. Когда s нажата, self.sharpen(event) . Поскольку Tkinter будет отправлять объект Tkinter.Event , мы также должны изменить подпись вызова на

     def sharpen(self, event=None): 

    Таким образом, когда кнопка нажата, event будет установлено на значение по умолчанию, None , но при нажатии клавиши s event будет назначено объекту Tkinter.Event .

Вы можете использовать bind . Я собираюсь предположить, что отступы в вашем вопросе ошибочны, а sharpen – метод Application .

 class Application(Frame): def __init__(self, master=None): Frame.__init__(self, master) master.wm_title("Image examples") self.pack() self.createWidgets() self.bind("s", self.sharpen) 

Pythonware имеет полезную информацию о обработке событий.

  • Размещение графика в главном окне Tkinter в Python
  • Создание окон Tkinter на панели задач
  • Как контролировать выделение выделения со списком tkinter
  • Приложение Python Tkinter вызывает ошибку fork () / exec () в Mac OS X
  • Текстовая анимация Tkinter?
  • Обновлять переменную каждую секунду в Python?
  • Tkinter и обнаружение USB-устройств
  • не может установить цвет фона ttk python os x, используя стили
  • Python - лучший язык программирования в мире.