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 имеет полезную информацию о обработке событий.

  • Есть ли способ поставить вывод Python Shell в окно tkinter?
  • Как связать ключ пробела с определенным методом в tkinter (python)
  • Python: отображение Dict of Dicts с использованием дерева пользовательского интерфейса для ключей и любого другого виджета для значений
  • Доступ к тексту, скопированному в буфер обмена с помощью python
  • задайте текст записи с помощью кнопки tkinter
  • tkinter - Как установить шрифт для текста?
  • Как создать столбцы равной ширины в Python 2.7 с помощью Tkinter
  • TypeError: объект 'builtin_function_or_method' не подлежит расшифровке
  • Прочитайте изображение с OpenCV и покажите его с помощью Tkinter
  • Как преобразовать содержимое холста в изображение?
  • Создание переменных StringVar в цикле для виджетов ввода Tkinter
  • Python - лучший язык программирования в мире.