Python學習之繪製動態時鐘

2021-08-14 13:46:06 字數 2746 閱讀 7727

#移動到指定位置

def

skip(step):

penup()

forward(step)

pendown()

#畫指標

def

drawpointer(name, length):

reset()

skip(-length*0.1)

begin_poly()

forward(length*1.1)

end_poly()

handform = get_poly()

register_shape(name, handform)

#初始化

def

init():

global hrpointer, minpointer, secpointer, weektext

#設定turtle logo模式,朝北

mode("logo")

drawpointer("hrpointer"

, 90)

drawpointer("minpointer"

, 130)

drawpointer("secpointer"

, 140)

hrpointer = turtle()

hrpointer.shape("hrpointer")

minpointer = turtle()

minpointer.shape("minpointer")

secpointer = turtle()

secpointer.shape("secpointer")

secpointer.pencolor("red")

for pointer in hrpointer, minpointer, secpointer:

pointer.shapesize(3, 1

, 1)

pointer.speed(0)

#文字輸出

weektext = turtle()

weektext.hideturtle()

weektext.penup()

#設定表盤形狀

def

setupclock(radius):

reset()

# clockpanel = turtle()

pensize(7)

pencolor("blue")

for i in

range(60):

skip(radius)

if i%5 == 0:

forward(20)

skip(-radius-20)

else:

dot(5)

skip(-radius)

right(6)

#星期文字

def

week(t):

week = ["星期一"

, "星期二"

, "星期三"

, "星期四"

, "星期五"

, "星期六"

, "星期日"]

return week[t.weekday()]

#日期文字

def

date(t):

y = t.year

m = t.month

d = t.day

return

"%s %d %d" % (y, m, d)

#繪製表針動態顯示

def

tick():

t = datetime.today()

second = t.second + t.microsecond*0.0000001

minute = t.minute + second/60.0

hour = t.hour + minute/60.0

secpointer.setheading(6*second)

minpointer.setheading(6*minute)

hrpointer.setheading(30*hour)

tracer(false)

weektext.forward(65)

weektext.write(week(t),

align="center"

,font=("courier"

, 14

, "bold"))

weektext.back(130)

weektext.write(date(t),

align="center"

,font=("courier"

, 14

, "bold"))

weektext.home()

tracer(true)

#間隔100ms呼叫一次

ontimer(tick,

100)

def

main():

tracer(false)

init()

setupclock(160)

tracer(true)

tick()

mainloop()

if __name__ == '__main__':

main()

Python Turtle繪製動態時鐘

coding utf 8 import turtle from datetime import 抬起畫筆,向前運動一段距離放下 def skip step turtle.penup turtle.forward step turtle.pendown def mkhand name,length 註...

python繪製動態曲線教程

從txt種獲取資料 並且通過動態曲線顯示 import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation import time fixing random state for r...

Qt繪製動態曲線

ifndef qlinewidget h define qlinewidget h include include include include include include include include include include include include include incl...