猫史档案馆


【Python作品分享】高级绘图软件

用户:姚国栋udn0姚国栋udn0查看:0 回复:0 评论:0 创建时间:2024-01-19T19:08:45


【作品展示】

center_image

 

【作品介绍】

高级画图软件

 

【作品源代码】

from tkinter import colorchooser, messagebox
import tkinter as tk
import turtle



# 创建Turtle画布
canvas = turtle.Screen()
canvas.title("高级画图软件")
canvas.bgcolor("white")

# 创建画笔
pen = turtle.Turtle()
pen.speed(0)
pen.shape("turtle")
pen.color("black")
pen.pensize(1)

# 画布宽度和高度
canvas_width = 800
canvas_height = 600

# 画布控制函数


def set_pen_size():
    size = int(pen_size_entry.get())
    pen.pensize(size)


def choose_pen_color():
    color = colorchooser.askcolor()[1]
    pen.color(color)


def draw_circle():
    try:
        radius = int(circle_radius_entry.get())
        pen.penup()
        pen.goto(0, -radius)
        pen.pendown()
        pen.circle(radius)
    except ValueError:
        messagebox.showerror("错误", "请输入有效的半径!")


def draw_square():
    try:
        side_length = int(square_side_length_entry.get())
        pen.penup()
        pen.goto(-side_length/2, -side_length/2)
        pen.pendown()
        for _ in range(4):
            pen.forward(side_length)
            pen.right(90)
    except ValueError:
        messagebox.showerror("错误", "请输入有效的边长!")


# 创建Tkinter窗口
window = tk.Tk()
window.title("高级画图软件")
window.geometry(f"{canvas_width}x{canvas_height}")

# 创建控制面板
control_panel = tk.Frame(window)
control_panel.pack(side=tk.LEFT)

# 画笔大小控制
pen_size_label = tk.Label(control_panel, text="画笔大小:")
pen_size_label.pack()
pen_size_entry = tk.Entry(control_panel)
pen_size_entry.pack()
pen_size_button = tk.Button(control_panel, text="确定", command=set_pen_size)
pen_size_button.pack()

# 画笔色彩选择
pen_color_button = tk.Button(
    control_panel, text="选择颜色", command=choose_pen_color)
pen_color_button.pack()

# 基本图形一键生成
shape_label = tk.Label(control_panel, text="基本图形:")
shape_label.pack()

circle_radius_label = tk.Label(control_panel, text="圆的半径:")
circle_radius_label.pack()
circle_radius_entry = tk.Entry(control_panel)
circle_radius_entry.pack()
circle_button = tk.Button(control_panel, text="绘制圆形", command=draw_circle)
circle_button.pack()

square_side_length_label = tk.Label(control_panel, text="正方形边长:")
square_side_length_label.pack()
square_side_length_entry = tk.Entry(control_panel)
square_side_length_entry.pack()
square_button = tk.Button(control_panel, text="绘制正方形", command=draw_square)
square_button.pack()

# 运行Tkinter窗口
window.mainloop()

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页