我正在尝试为 tkinter 程序制定 MVC 结构。
我有一个带有鼠标单击事件绑定的视图类,如下所示
class View():
def __init__(self, root)
self.canvas = Canvas(root)
self.canvas.pack()
self.canvas.bind("<Button-1>", self.select)
def select(self):
# do some thing
我有另一个类“控制器”
class Controller:
def __init__(self, root):
self.model = model.Model()
self.view = view.View(self.model)
#root.bind_class("Canvas", "<Button-1>", self.view.select)
我需要将事件绑定从视图移动到控制器。如何从控制器类绑定在视图类中创建的画布小部件?
我已经在控制器类中制定了一个临时解决方案,方法是使用root.bind_class("Canvas", "<Button-1>", self.view.select)
.
目前,我的 GUI 中只有一个画布小部件,并且工作正常。但是,稍后添加更多画布可能会带来问题。