猫史档案馆


【Python作品分享】【120强进36】星空图鉴【作品秀】

用户:GXZLGXZL查看:0 回复:0 评论:0 创建时间:2021-05-15T19:00:08


【作品展示】

center_image

 

【作品介绍】

一个tkinter以及turtle绘图联合作品,有四项选择,分别对应不同的天象以及不同的诗词句子。

 

【作品源代码】

from tkinter import *
import turtle as t

root = Tk()
root.title('星空图鉴')
root.geometry('980x600+200+50')
root.resizable(0,0)

def sun():
    t.speed(0)
    t.pensize(10)
    t.penup()
    t.goto(50, 100)
    t.pendown()
    t.pencolor('yellow')  # 圆的颜色
    t.fillcolor('red')
    t.begin_fill()
    t.circle(100)  # 圆的半径
    t.end_fill()
    t.penup()
    t.goto(-300, 0)
    t.pendown()
    t.pencolor('blue')
    t.write('日出东南隅', font=('Arial', 40, 'italic'))

    t.done()

def moon():
    import random
    t.hideturtle()  # 隐藏画笔   
    #初始化设定
    t.bgcolor("black")
    t.speed(0)
    t.pensize(2)
    t.penup()
    t.goto(0, -300)
    #绘制山川
    t.pencolor('cyan')
    t.fillcolor("cyan")  # 山川的颜色
    t.penup()
    t.goto(-700, -350)
    t.pendown()
    for i in range(random.randint(4,6)):
        t.begin_fill()
        t.left(60)  # 开始绘制
        a = random.randint(300, 500)  # 山川的高度
        t.forward(a)
        t.right(120)
        t.forward(a)
        t.end_fill()
        t.left(60)
    #绘制月亮
    t.penup()
    t.goto(100,100)
    t.pendown()
    t.pencolor('yellow')  # 圆的颜色
    t.fillcolor('yellow')
    t.begin_fill()
    t.circle(150)  # 圆的半径
    t.end_fill()
    t.penup()
    t.goto(-300,0)
    t.pendown()
    t.pencolor('red') 
    t.write('月出于东山之上,徘徊于斗牛之间',font=('Arial', 40, 'italic'))
    t.done()

def star():
    import random
    t.hideturtle()
    t.speed(0)
    t.pensize(2)
    t.bgcolor('black')
    for x in range(100):
        t.penup()
        t.goto(random.randint(-400,400), random.randint(-300, 300))
        t.fillcolor(random.uniform(0, 1), random.uniform(
            0, 1), random.uniform(0, 1))
        t.pendown()
        l = random.uniform(20,60)
        d = random.randint(3, 12)
        t.begin_fill() 
        t.left(random.randint(0, 360))
        for i in range(d):
            t.forward(l/d) 
            t.left(360/d)
        t.end_fill()
    t.penup()
    t.goto(-300, 0)
    t.pendown()
    t.pencolor('white')
    t.write('携星河入梦', font=('Arial', 40, 'italic'))
    t.done()

def gui():
    import random as r
    t.hideturtle()
    t.pencolor('black')
    t.pensize(1)
    t.speed(0)

    t.fillcolor('black')

    t.penup()
    t.goto(-400, -400)
    t.pendown()

    t.begin_fill()
    for i in range(4):
        t.forward(800)
        t.left(90)
    t.end_fill()

    t.penup()
    t.goto(0, 0)
    t.pendown()

    t.pencolor('cyan')

    for i in range(0,100, 1):
        t.pencolor(r.uniform(0.2, 1), r.uniform(0.2, 1), r.uniform(0.2, 1))
        radius = r.randint(5, 400)
        t.left(r.randint(0, 360))
        t.penup()
        t.forward(radius)
        t.left(90)
        t.pendown()
        t.circle(radius, r.randint(50, 100)) 
        t.penup()
        t.goto(0, 0)
        t.pendown()
    t.pencolor('cyan')
    t.penup()
    t.goto(-350, 0)
    t.pendown()
    t.write('别怕路长梦少,总有星河照耀', font=('Arial', 40, 'italic'))

    t.done()

label_title = Label(root, text='选择一个天象绘制', font=('微软雅黑', 92))
label_title.grid(row=0, column=0, columnspan=4)

button_first = Button(root,text = '日',font=('宋体',60),command = sun)
button_first.grid(row=1,column=0)  

button_last = Button(root, text='月', font=('宋体', 60), command= moon)
button_last.grid(row=1, column=1)

button_pre = Button(root, text='星', font=('宋体', 60), command=star)
button_pre.grid(row=1, column=2)

button_next = Button(root, text='轨', font=('宋体', 60), command=gui)
button_next.grid(row=1, column=3)

root.mainloop()

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页