单击矩形时的python tkinter Canvas

标签 python tkinter tkinter-canvas

当我单击 tk Canvas 上的矩形时,我一直在尝试运行一个函数。

这是代码:

from tkinter import *

window = Tk()

c = Canvas(window, width=300, height=300)

def clear():
    canvas.delete(ALL)

playbutton = c.create_rectangle(75, 25, 225, 75, fill="red")
playtext = c.create_text(150, 50, text="Play", font=("Papyrus", 26), fill='blue')

c.pack()

window.mainloop()

有谁知道我应该怎么做?

最佳答案

您可以在要将事件绑定(bind)到的项目上添加标签。
您想要的事件是<Button-1> ,即鼠标左键。
要将其应用于您的示例,您可以这样做:

from tkinter import Tk, Canvas

window = Tk()

c = Canvas(window, width=300, height=300)

def clear():
    canvas.delete(ALL)

def clicked(*args):
    print("You clicked play!")

playbutton = c.create_rectangle(75, 25, 225, 75, fill="red",tags="playbutton")
playtext = c.create_text(150, 50, text="Play", font=("Papyrus", 26), fill='blue',tags="playbutton")

c.tag_bind("playbutton","<Button-1>",clicked)

c.pack()

window.mainloop()

关于单击矩形时的python tkinter Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42175815/

相关文章:

python - django 测试中的模拟时间问题 : time seems not to be frozen using freezegun

python - 如何使用 pymc3 指定伯努利分布的大小?

python - 定心矩阵

Python 3.x turtle 速度极慢?

Python3 tkinter Canvas ,设置相对宽度和高度

Python 嵌套 for 循环比单个 for 循环更快

python - ttk 比例增加 1

python - 避免调整 Tkinter OptionMenu 按钮的大小

python - matplotlib 在 tkinter Canvas 中的缩放功能

python - 在 tkinter 的 Canvas 小部件中更改矩形的宽度