我生成了一个带有行和列的按钮网格。 然后我用左右键单击按钮并传递单击按钮的行和列,但无法使其工作。
这就是我所做的。
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,感谢任何帮助。 我已经看到了与答案相关的类似问题,但这可能会有所不同。