从绑定按钮传递参数到函数

时间:2014-07-27 08:28:39

标签: python tkinter

我生成了一个带有行和列的按钮网格。 然后我用左右键单击按钮并传递单击按钮的行和列,但无法使其工作。

这就是我所做的。

def initialize(self):
    self.grid()

    frame = gui.Frame(self)
    frame.pack()

    for col in range(x_length):
        for row in range(y_length):
            button = gui.Button(frame,text=str(col) + ":" + str(row))
            button.grid(column=col,row=row) 
            button.bind('<Button-1>',lambda col=col, row=row: self.on_left_click(self, row, col))
            button.bind('<Button-3>',lambda col=col, row=row: self.on_right_click(self, row, col))

def on_left_click(self, event, row, col):
    self.some_function(event, "left", row, col)

def on_right_click(self, event, row, col):
    self.some_function(event, "right", row, col)

def some_function(self, event, click, row, col):
    print('{} click on {}:{}'.format(click, row, col))

检索行坐标但不检索col坐标。

   right click on <tkinter.Event object at 0x0000000002FA44E0>:6
   left click on <tkinter.Event object at 0x0000000002FA44E0>:4
   right click on <tkinter.Event object at 0x0000000002FA44A8>:7

我正在学习Python,感谢任何帮助。 我已经看到了与答案相关的类似问题,但这可能会有所不同。

0 个答案:

没有答案