Tkinter如何通过单击矩形获取标记名

2024-10-06 08:06:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我对编程相当陌生,因此请原谅任何不一致/错误使用代码)

我在这个话题上看到了一些类似的问题和答案,但是我觉得我可能遗漏了一些东西

我画了一个Rubiks立方体的网络,我希望用户能够点击一个单独的“立方体”来改变它的颜色,这样它就可以过滤6种颜色。 基本上,我想弄清楚的是如何从tag_bind方法访问矩形的标记

以下是我使用的代码的简化版本:

def clicked(event):
    print("You clicked " + str(event))
    print(event.widget.find_withtag("current"))


green_00 = cubeCanvas.create_rectangle(20, 240, 90, 310, width=0, fill='green', tag="green_00")
cubeCanvas.tag_bind("green_00", "<Button-1>", clicked)

当前返回:

You clicked <ButtonPress event num=1 x=56 y=299>
(1,)

而理想情况下,我希望它返回:

green_00

这样做的目的是使用标签来标识itemconfig中的矩形,以便我可以更改颜色。 非常感谢任何解决这个问题的答案/更好的方法

谢谢


Tags: 方法答案代码youeventbind颜色tag
1条回答
网友
1楼 · 发布于 2024-10-06 08:06:29

多亏了Atlas435,我错过了一些非常小的东西

current = event.widget.find_withtag("current")[0]
event.widget.itemconfig(current, *option)

允许您访问并更改特定标签的颜色

相关问题 更多 >