猫史档案馆


【Python作品分享】新的作品

用户:姚国栋udn0姚国栋udn0查看:0 回复:1 评论:0 创建时间:2024-01-24T22:12:37


【作品展示】

center_image

 

【作品介绍】

高级绘图软件

 

【作品源代码】

import tkinter as tk
import turtle
from tkinter import colorchooser
from tkinter import simpledialog


def set_pen_size():
    size = simpledialog.askinteger("Pen Size", "Enter pen size:")
    t.pensize(size)

def choose_color():
    color = colorchooser.askcolor()
    t.pencolor(color[1])

def draw_line():
    t.ondrag(None)
    t.pendown()
    x, y = t.position()
    new_x, new_y = simpledialog.askinteger("Draw Line", "Enter ending coordinates (x y):", initialvalue=(x, y))
    t.goto(new_x, new_y)
    t.ondrag(t.drag)

def draw_curve():
    t.ondrag(None)
    t.pendown()
    x, y = t.position()
    new_x, new_y = simpledialog.askinteger("Draw Curve", "Enter control point coordinates (x y):", initialvalue=(x + 50, y + 50))
    t.goto(new_x, new_y)
    t.ondrag(t.drag)

def draw_triangle():
    t.ondrag(None)
    t.setheading(0)
    t.penup()
    x, y = t.position()
    t.goto(x + 50, y)
    t.pendown()
    for _ in range(3):
        t.forward(100)
        t.right(120)


def draw_rectangle():
    t.ondrag(None)
    t.setheading(0)
    t.penup()
    x, y = t.position()
    t.goto(x + 50, y)
    t.pendown()
    for _ in range(2):
        t.forward(100)
        t.right(90)
        t.forward(50)
        t.right(90)


def draw_circle():
    t.ondrag(None)
    t.penup()
    x, y = t.position()
    t.goto(x + 50, y - 50)
    t.pendown()
    t.circle(50)


def draw_ellipse():
    t.ondrag(None)
    t.penup()
    x, y = t.position()
    t.goto(x + 50, y)
    t.pendown()
    t.setheading(0)
    t.right(45)
    for _ in range(2):
        t.circle(50, 90)
        t.circle(20, 90)


root = tk.Tk()
root.title("Advanced Drawing Program")
root.geometry("800x800") 
canvas = turtle.ScrolledCanvas(root)
canvas.pack()
t = turtle.RawTurtle(canvas)

menu_bar = tk.Menu(root)
root.config(menu=menu_bar)
file_menu = tk.Menu(menu_bar, tearoff=False)
menu_bar.add_cascade(label="File", menu=file_menu)

shapes_menu = tk.Menu(menu_bar, tearoff=False)
menu_bar.add_cascade(label="Shapes", menu=shapes_menu)
shapes_menu.add_command(label="Draw Triangle", command=draw_triangle)
shapes_menu.add_command(label="Draw Rectangle", command=draw_rectangle)
shapes_menu.add_command(label="Draw Circle", command=draw_circle)
shapes_menu.add_command(label="Draw Ellipse", command=draw_ellipse)

options_menu = tk.Menu(menu_bar, tearoff=False)
menu_bar.add_cascade(label="Options", menu=options_menu)
options_menu.add_command(label="Set Pen Size", command=set_pen_size)
options_menu.add_command(label="Choose Color", command=choose_color)
options_menu.add_command(label="Draw Line", command=draw_line)
options_menu.add_command(label="Draw Curve", command=draw_curve)

root.mainloop()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
叫我曲奇wyq叫我曲奇wyq

膜拜大佬

点赞0


评论