2017-10-18 50 views
0

所以,我要的是得到一个椭圆形的到我的蟒蛇工作的画布。 (这是一个照片编辑器项目)。 “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) 
+0

在我的段落的第三句话中,我的意思是“下面的代码”。在第四句话中,我的意思是将“”更改为允许您执行左键单击保持功能的标签。 –

+0

对不起,我无法帮助你解决你的编码问题。但关于消失的“<" and ">”:您必须编写“<”和“>”,而不像我在编辑问题时所做的那样,请参阅此链接以获取[更多关于标记的信息](https://stackoverflow.com/help/格式)。顺便说一句,你总是可以编辑你自己的问题:点击'python'和'canvas'标签下的小编辑。 – 0X0nosugar

回答

0

您只需删除对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!你做了我的奇迹! –

相关问题