python tkinter如何将键绑定到按钮 [英] python tkinter how to bind key to a button

查看:850
本文介绍了python tkinter如何将键绑定到按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

编程新手,尤其是python和tKinter.如何创建将键"s"绑定到按钮或功能sharpen的方法?任何帮助都是极好的.

New to programming and especially python and tKinter. How can I create a way to bind the key "s" to the button or the function sharpen? Any help would be awesome.

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)

推荐答案

您需要进行两项更改:

  1. 添加

  1. Add

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

__init__. (绑定到框架self似乎无效.)

to __init__. (Binding to the Frame, self, does not seem to work.)

按下 s 时,将调用self.sharpen(event).自从 Tkinter将发送一个Tkinter.Event对象,我们还必须更改调用 签名

When s is pressed, self.sharpen(event) will be called. Since Tkinter will be sending a Tkinter.Event object, we must also change the call signature to

def sharpen(self, event=None):

因此,当按下按钮时,event将被设置为默认值 值None,但是当按下 s 键时,event 将被分配给Tkinter.Event对象.

Thus, when the button is pressed, event will be set to the default value, None, but when the s key is pressed, event will be assigned to the Tkinter.Event object.

这篇关于python tkinter如何将键绑定到按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆