Python案例2—turtle库绘制五角星V_7.0

大家好,我是白菜胡萝丸子

人生苦短,Python当歌

绘制五角星
绘制五角星


项目导入

版本7.0:使用tkinter库的canvas控件绘制五角星

项目分析—理清思路

  1. 分析问题:分析问题的计算部分
  2. 明确问题:划分问题的输入、处理和输出部分(IPO)
  3. 设计算法:计算部分的核心

引入tkinter
按照绘图步骤进行图形绘制
使用tkinter库中的Canvas控件进行绘图

注:Python提供了多个图形界面开发的库,tkinter是其中的一个,引入tkinter库以后可以快速的创建GUI ( Graphic User Interface)应用程序。

知识点学习–万丈高楼平地起


使用tkinter中的Canvas控件绘图步骤
1.引入tkinter G正在识别 import tkinter
2.建立主窗口,设置画布大小 top/root/windows = tkinter.tk() C = tkinter.Canvas(top/root/windows, bg=" blue" , height=“300" ,
width=“300" )
3.绘制各种图形,如线条、多边形、弧形、圆形等
4.消息主循环(root到pack相当于尺寸,样式,位置,然后绑定一个事件, mainloop相当于刷新或者启动这个事件) c.pack() top/root.mainloop()
Canvas语法格式w = canvas ( master , option=value,… )

绘图关键步骤解析
2.设置主窗口、画布大小背景色等属性
top = tkinter.tk()
top.title(“绘制五角星”) #设置窗口的title值
C = tkinter.Canvas(top, bg=" blue" , height= “300” , width = “300” )

绘图关键步骤解析
3.绘制各种图形,如线条、多边形、弧形、圆形等
create_ ,arc :绘制弧。
create_ rectangle0 :绘制矩形。
create. image :绘制图片。
create_ line() :绘制直线。
create_ polygon :绘制多边形。
create_ text :绘制文字。
create_ window :绘制组件。
canvas.creat_polygon(x0,yo,1,/…xn,yn,fill='color")

#左上点 center. x-(rmath.sin(2math.pi/5)), center. y-(rmath.cos(2math.pi/5)),
#右上点 center. x+ (rmath.sin(2math.pi/5)), center y-(rmath.cos<(2math.pi/5)),
#左下点 center. x-(rmath.sin(math.pi/5)), center_ y+(rmath.cos(math.pi/5)),
#顶点 center. _X, center. _y-r,
#右下点 center. x+ (rmath.sin(math.pi/5)), center. y+(rmath.cos(math.pi/5)), .
五角星

上机编程–动动手,让程序运行起来

参照代码


""""
作者:白菜胡萝丸子
版本7.0:使用tkinter库的canvas控件绘制五角星
"""

import tkinter
import math

top = tkinter.Tk()
top.title("绘制五角星")
c = tkinter.Canvas(top, bg="pink", height="300", width="300")

# 使用canvas控件绘制五角星
r = 150
center_x = 150
center_y = 150

polygon = c.create_polygon(
    # 左上点
    center_x - (r*math.sin(2 * math.pi / 5)),
    center_y - (r*math.cos(2 * math.pi / 5)),
    # 右上点
    center_x + (r*math.sin(2 * math.pi / 5)),
    center_y - (r*math.cos(2 * math.pi / 5)),
    # 左下点
    center_x - (r*math.sin(math.pi / 5)),
    center_y + (r*math.cos(math.pi / 5)),
    # 顶点
    center_x,
    center_y - r,
    # 右下点
    center_x + (r*math.sin(math.pi / 5)),
    center_y + (r*math.cos(math.pi / 5)),
    fill="red"
)

# 消息主循环
c.pack()
top.mainloop()

执行结果


组件绘制五角星


更上一层楼–让程序进化一点点

目前已经掌握了使用turtle库和Canvas控件绘制五角星的方法,如果我们想绘制一面标准的五星红旗,该如何实现呢?
请见下一篇文章

猜你喜欢

转载自blog.csdn.net/coco264/article/details/123551925