tkinter制作画板小程序,添加撤销上一步的功能代码怎么写?
时间: 2023-02-25 21:47:24 浏览: 97
基于python tkinter的点名小程序功能的实例代码
你可以使用 Python 库 Tkinter 制作画板小程序,添加撤销上一步的功能。实现此功能需要创建一个列表来存储每一步的画图数据,以便在需要撤销时可以从列表中删除最后一步,然后在画布上重新绘制剩下的所有步骤。下面是一份简单的代码示例:
```python
from tkinter import *
class PaintApp:
def __init__(self, master):
self.master = master
self.initUI()
self.drawing_data = []
def initUI(self):
self.master.title("画板小程序")
self.pack(fill=BOTH, expand=1)
self.canvas = Canvas(self)
self.canvas.pack(fill=BOTH, expand=1)
self.canvas.bind("<B1-Motion>", self.draw)
undo_button = Button(self, text="撤销", command=self.undo)
undo_button.pack(side=LEFT, padx=2, pady=2)
def draw(self, event):
x1, y1 = (event.x - 1), (event.y - 1)
x2, y2 = (event.x + 1), (event.y + 1)
self.canvas.create_oval(x1, y1, x2, y2, fill="black", outline="black", width=5)
self.drawing_data.append((x1, y1, x2, y2))
def undo(self):
if self.drawing_data:
self.canvas.delete(self.drawing_data.pop())
root = Tk()
root.geometry("800x600")
app = PaintApp(root)
root.mainloop()
```
这份代码可以创建一个 Tkinter 画板程序,用户可以通过鼠标在画布上画图,并使用 "撤销" 按钮来撤销上一步的操作。
阅读全文