用tkinter 版本8.6 写一个 PhotoImage 点击图片,在该点击位置上会 出现红点,红点中显示 已点击数
时间: 2023-05-30 20:07:30 浏览: 131
以下是一个简单的示例代码:
```python
import tkinter as tk
class App(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.pack()
self.clicked_count = 0
self.create_widgets()
def create_widgets(self):
self.canvas = tk.Canvas(self, width=400, height=400)
self.canvas.pack()
self.image = tk.PhotoImage(file="example.gif")
self.canvas.create_image(0, 0, image=self.image, anchor=tk.NW)
self.canvas.bind("<Button-1>", self.on_click)
def on_click(self, event):
x, y = event.x, event.y
self.clicked_count += 1
self.canvas.create_oval(x-5, y-5, x+5, y+5, fill="red")
self.canvas.create_text(x, y, text=str(self.clicked_count))
if __name__ == '__main__':
root = tk.Tk()
app = App(master=root)
app.mainloop()
```
在这个示例中,我们创建了一个 `tkinter.Canvas` 对象,并在其中绘制了一张图片。然后我们绑定了鼠标左键点击事件 `<Button-1>`,当用户点击图片时,会调用 `on_click` 方法。在 `on_click` 方法中,我们获取了鼠标点击的位置 `x` 和 `y`,然后在该位置上绘制了一个红点,并在红点中显示了已经点击的次数。我们使用 `self.clicked_count` 这个属性来记录已经点击的次数。
阅读全文