用python脚本画一个通过点击可以切换颜色的爱心
时间: 2024-05-02 16:23:27 浏览: 62
可以使用Python中的Tkinter库来实现一个简单的图形界面,并在界面中画一个通过点击可以切换颜色的爱心。
下面是一个示例代码:
```python
import tkinter as tk
class HeartCanvas(tk.Canvas):
def __init__(self, master=None, **kwargs):
super().__init__(master, **kwargs)
self.colors = ['red', 'blue', 'green', 'purple']
self.current_color = 0
self.bind('<Button-1>', self.change_color)
self.draw_heart()
def draw_heart(self):
self.delete('all')
width = self.winfo_width()
height = self.winfo_height()
x0 = width / 2
y0 = height / 2 - 50
x1 = x0 + 50
y1 = y0 + 50
x2 = x0 - 50
y2 = y0 + 50
self.create_arc(x0, y0, x1, y1, start=60, extent=60, style='arc', width=3, outline='black')
self.create_arc(x2, y0, x0, y1, start=120, extent=60, style='arc', width=3, outline='black')
self.create_polygon(x0, y2, x1, y1+10, x2, y1+10, fill=self.colors[self.current_color])
def change_color(self, event):
self.current_color = (self.current_color + 1) % len(self.colors)
self.draw_heart()
def main():
root = tk.Tk()
root.geometry('400x400')
root.title('Colorful Heart')
canvas = HeartCanvas(root, bg='white', highlightthickness=0)
canvas.pack(fill=tk.BOTH, expand=True)
root.mainloop()
if __name__ == '__main__':
main()
```
这个程序创建了一个名为HeartCanvas的自定义Canvas控件,用于绘制爱心,并且实现了通过点击切换颜色的功能。在程序运行之后,你可以点击爱心来改变颜色。
阅读全文