如何使用Python的Tkinter绘制圆形与倾斜线条(绘制冰淇淋甜筒)
用Tkinter绘制带冰淇淋球的甜筒
首先明确Tkinter绘图的基础逻辑:先创建主窗口,再创建Canvas(画布)组件,所有图形都绘制在画布上;画布的坐标规则是左上角为(0,0),向右x坐标递增,向下y坐标递增。
核心绘图函数参数说明
1. 绘制倾斜线条(甜筒的侧边)
create_line(x1, y1, x2, y2, width=数值)
x1,y1:线段的起点坐标x2,y2:线段的终点坐标width:线条的粗细程度
2. 绘制圆形(冰淇淋球)
create_oval(x1, y1, x2, y2, fill="颜色", outline="颜色")
x1,y1:圆形外接正方形的左上角坐标x2,y2:圆形外接正方形的右下角坐标(要画出正圆,需保证x2-x1与y2-y1的数值相等)fill:圆形内部的填充颜色outline:圆形边框的颜色(可选参数)
完整可运行代码示例
import tkinter as tk # 创建主窗口 root = tk.Tk() root.title("冰淇淋甜筒") # 创建画布,设置宽高和背景色 drawing = tk.Canvas(root, width=400, height=400, bg="white") drawing.pack() # 绘制甜筒的三条边 # 左侧斜边:从(150, 300)到(200, 180) cone_left = drawing.create_line(150, 300, 200, 180, width=4) # 右侧斜边:从(250, 300)到(200, 180) cone_right = drawing.create_line(250, 300, 200, 180, width=4) # 甜筒底部横线:从(150, 300)到(250, 300) cone_bottom = drawing.create_line(150, 300, 250, 300, width=4) # 绘制冰淇淋球(正圆) # 外接正方形左上角(160,140),右下角(240,220),宽高均为80,所以是正圆 ice_ball = drawing.create_oval(160, 140, 240, 220, fill="#ff99cc", outline="black", width=2) # 启动主循环,显示窗口 root.mainloop()
简单说明
- 甜筒部分用三条线段组成三角形结构,两条斜边汇聚在顶部,底部用横线闭合
- 冰淇淋球通过
create_oval绘制正圆,填充粉色并添加黑色边框 - 你可以修改代码中的坐标数值,调整甜筒和冰淇淋球的大小、位置,或是更换填充颜色来做出不同样式的冰淇淋
内容的提问来源于stack exchange,提问作者user87626
相关产品推荐
相关产品推荐

