【发布时间】:2021-03-27 12:06:11
【问题描述】:
我对编程还很陌生,所以请原谅任何不一致/错误使用代码)
我已经看到了一些关于这个主题的类似问题和答案,但是我觉得我可能遗漏了一些东西。
我画了一个魔方网,我希望用户能够点击一个单独的“魔方”来改变它的颜色,这样它就可以过滤 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 中的矩形 - 这样我就可以更改颜色。 非常感谢任何解决此问题的答案/更好的方法。
谢谢。
【问题讨论】:
-
current = event.widget.find_withtag("current")[0]然后你可以做event.widget.itemconfig(current, *option)。我不知道你为什么在这里需要帮助? -
或者您在搜索
event.widget.itemcget(current, *option)? -
@Atlas435 - 您的解决方案有效,谢谢。感谢您的帮助!
标签: python tkinter click tk rubiks-cube