我有以下功能:
def button_enter(self, event, type):
if self.green_button_anim_on:
return
self.canvas.itemconfigure(self.green_button, image=self.green_button_image_hover)
该功能用于将绿色按钮的图像改变为"绿色"按钮;悬停状态";用户将鼠标悬停在图像上时的图像。我想做的是-我想通用这个函数,不仅用于绿色按钮,还用于红色、退出等按钮。因此,我决定将参数type
传递给具有red
、green
、quit
等值的函数。
现在,我需要根据参数type
的值,将函数中的单词改为绿色。请问最简单的方法是什么?非常感谢。
您可以将按钮和图像保存在dict
:中
self.buttons = { "green": self.green_button, ... }
self.images = {...}
...
然后,检索正确的对象:
self.canvas.itemconfigure(self.buttons[type], image=self.images[type])
您可以在python中使用enum
,这样您就可以使用有意义的名称并将其映射到常数值。