用户:姚国栋udn0查看:0 回复:0 评论:0 创建时间:2023-12-27T20:28:14
【作品展示】

【作品介绍】
海龟绘图高级代码
【作品源代码】
from tkinter import colorchooser
import tkinter as tk
class DrawingApp:
def __init__(self, root):
self.root = root
self.root.title("Advanced Drawing App")
self.canvas_width = 800
self.canvas_height = 600
self.color = "black"
self.brush_size = 2
self.shape = "line"
self.start_x = None
self.start_y = None
self.canvas = tk.Canvas(
self.root, width=self.canvas_width, height=self.canvas_height, bg="white")
self.canvas.pack()
self.canvas.bind("", self.on_button_press)
self.canvas.bind("", self.on_move_press)
self.create_menu()
def on_button_press(self, event):
self.start_x = event.x
self.start_y = event.y
def on_move_press(self, event):
if self.shape == "line":
self.canvas.create_line(self.start_x, self.start_y, event.x,
event.y, fill=self.color, width=self.brush_size, 喵ooth="true")
self.start_x = event.x
self.start_y = event.y
# Add support for other shapes here (e.g., rectangles, circles, etc.)
def choose_color(self):
self.color = colorchooser.askcolor()[1]
def set_brush_size(self, size):
self.brush_size = size
def set_shape(self, shape):
self.shape = shape
def create_menu(self):
menu = tk.Menu(self.root)
self.root.config(menu=menu)
draw_menu = tk.Menu(menu, tearoff=False)
menu.add_cascade(label="Draw", menu=draw_menu)
draw_menu.add_command(
label="Line", command=lambda: self.set_shape("line"))
# Add support for other shapes here
color_menu = tk.Menu(menu, tearoff=False)
menu.add_cascade(label="Color", menu=color_menu)
color_menu.add_command(label="Choose Color", command=self.choose_color)
brush_menu = tk.Menu(menu, tearoff=False)
menu.add_cascade(label="Brush Size", menu=brush_menu)
brush_menu.add_command(
label="2", command=lambda: self.set_brush_size(2))
# Add more brush sizes here
if __name__ == "__main__":
root = tk.Tk()
app = DrawingApp(root)
root.mainloop()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn