pytonのcanvas上に円を3つ描画しています。
マウスイベントでクリックした円のタグ名を取得したいのですが、どのようにしたら良いのでしょうか?
アクティブカラーをlightgreyにしているので、lightgreyのものを全てのオブジェクトから
ピックアップしようとしたのですが、方法が良く分からず悩んでいます。
import tkinter as tk from tkinter import * window = tk.Tk() window.title('サンプル') frame1 = tk.Frame(window,bd=1,relief="ridge") frame1.grid(row=0, column=0,sticky='news') frame2 = tk.Frame(window,bd=1,relief="ridge") frame2.grid(row=2, column=0,sticky='news') cvs = tk.Canvas(frame2, height=600, width=1000, bg='white',bd=1,relief="ridge") cvs.grid(row=0, column=0,sticky='news') cvs.create_oval(250-10, 250-10, 250+10, 250+10,activefill = 'lightgrey',fill='red',tag="en_1") cvs.create_oval(250-10, 300-10, 250+10, 300+10,activefill = 'lightgrey',fill='red',tag="en_2") cvs.create_oval(400-10, 400-10, 400+10, 400+10,activefill = 'lightgrey',fill='red',tag="en_3") def lclick(event): pass #クリックしたオブジェクトのタグ名を取得したい cvs.bind('<Button-1>', lclick) frame2.grid_columnconfigure(0,weight=1) frame2.grid_rowconfigure(0,weight=1) window.grid_columnconfigure(0,weight=1) window.grid_rowconfigure(2,weight=1) window.mainloop()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/10 09:18