如何在python中点击左键时在画布中显示对象?
问题描述:
所以,我要的是得到一个椭圆形的到我的蟒蛇工作的画布。 (这是一个照片编辑器项目)。 “c”指的是我用python制作的一个tkinter程序。如何让我的程序在画布上做出椭圆形的下列代码?(另外,如果您知道如何进行鼠标放下事件,请将“< Button-1 >”更改为相应的标签):如何在python中点击左键时在画布中显示对象?
def PaintBrushWorking():
blueBlob = c.create_oval(20, 30, 40, 60, fill = "blue")
blueBlob.pack()
c.bind_all("<Button-1>", PaintBrushWorking)
答
您只需删除对pack
的调用,然后让您的函数接受事件参数。最后,你可能想使用bind
而非bind_all
,除非你真的想它来绘制,即使你在其他一些小部件点击诸如按钮或滚动条的椭圆形。
import Tkinter as tk
def PaintBrushWorking(event):
blueBlob = c.create_oval(20, 30, 40, 60, fill="blue")
root = tk.Tk()
c = tk.Canvas()
c.pack(fill="both", expand=True)
c.bind("<Button-1>", PaintBrushWorking)
root.mainloop()
+0
非常感谢Bryan Oakley!你做了我的奇迹! –
在我的段落的第三句话中,我的意思是“下面的代码”。在第四句话中,我的意思是将“”更改为允许您执行左键单击保持功能的标签。 –
对不起,我无法帮助你解决你的编码问题。但关于消失的“”:您必须编写“<”和“>”,而不像我在编辑问题时所做的那样,请参阅此链接以获取[更多关于标记的信息](https://*.com/help/格式)。顺便说一句,你总是可以编辑你自己的问题:点击'python'和'canvas'标签下的小编辑。 – 0X0nosugar