用Python tkinter来写一个画图程序
时间: 2023-09-28 22:13:46 浏览: 45
好的,以下是一个简单的画图程序的代码:
```python
from tkinter import *
class PaintApp:
def __init__(self, master):
self.master = master
self.master.title("Paint App")
self.master.geometry("500x500")
self.color = "black"
self.size = 5
self.drawWidgets()
self.canvas.bind("<B1-Motion>", self.paint)
def paint(self, event):
x1, y1 = (event.x - self.size), (event.y - self.size)
x2, y2 = (event.x + self.size), (event.y + self.size)
self.canvas.create_oval(x1, y1, x2, y2, fill=self.color, outline=self.color)
def setColor(self, newcolor):
self.color = newcolor
def setSize(self, newsize):
self.size = newsize
def drawWidgets(self):
self.controls = Frame(self.master, padx=5, pady=5)
Label(self.controls, text="Pen Size:").grid(row=0, column=0)
self.sizeSlider = Scale(self.controls, from_=1, to=10, orient=HORIZONTAL, command=self.setSize)
self.sizeSlider.set(self.size)
self.sizeSlider.grid(row=0, column=1)
Label(self.controls, text="Pen Color:").grid(row=1, column=0)
self.colorButtons = [
Button(self.controls, bg=color, width=3, height=1, command=lambda c=color: self.setColor(c))
for color in ["black", "red", "green", "blue", "yellow"]
]
for i, button in enumerate(self.colorButtons):
button.grid(row=1, column=i+1)
self.controls.pack(side=TOP, pady=5)
self.canvas = Canvas(self.master, width=400, height=400, bg="white")
self.canvas.pack()
root = Tk()
paint_app = PaintApp(root)
root.mainloop()
```
这个程序使用`tkinter`模块创建了一个简单的画图应用。你可以通过调整画笔大小和颜色来绘制图形。程序支持的颜色包括黑色、红色、绿色、蓝色和黄色。