2017-10-18 113 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!你做了我的奇蹟! –

相關問題