使用python畫出時鐘效果

2021-09-11 10:43:21 字數 2410 閱讀 5979

使用的python版本:3.7.0 ,以下為源**:

# time.py

from turtle import *

from datetime import *

import time

def setupclock(radius):

#建立表的外框

reset()

pensize()

for i in range(60):

skip(radius)

if i % 5 == 0:

forward(20)

skip(-radius-20)

else:

dot(5)

skip(-radius)

right(6)

def skip(step):

penup()

forward(step)

pendown()

#定義表針函式mkhand()

def mkhand(name, length):

#註冊turtle形狀,建立表針turtle

reset()

skip(-length*0.1)

begin_poly()

forward(length*1.1)

end_poly()

handform = get_poly()

register_shape(name, handform)

def init():

global sechand, minhand, hurhand, printer

mode("logo") # 重置turtle指向北

#建立三個表針turtle並初始化

mkhand("sechand", 125)

mkhand("minhand", 130)

mkhand("hurhand", 90)

sechand = turtle()

sechand.shape("sechand")

minhand = turtle()

minhand.shape("sechand")

hurhand = turtle()

hurhand.shape("sechand")

for hand in sechand, minhand, hurhand:

hand.shapesize(1, 1, 3)

hand.speed(0)

#建立輸出文字turtle

printer = turtle()

printer.hideturtle()

printer.penup()

def get_week_day():

week_day_dict =

today = int(time.strftime("%w"))

return week_day_dict[today]

#更新時鐘函式tick()

def tick():

#繪製表針的動態顯示

t = datetime.today()

second = t.second + t.microsecond*0.000001

minute = t.minute + second/60.0

hour = t.hour + minute/60.0

tracer(false)

printer.forward(65)

# print(get_week_day())

printer.write(get_week_day(), align="center", font=("courier", 14, "bold"))

printer.back(130)

printer.write((str(t.year)+"-"+str(t.month)+"-"+str(t.day)), align="center", font=("courier", 14, "bold"))

printer.home()

tracer(true)

sechand.setheading(6*second)

minhand.setheading(6*minute)

hurhand.setheading(30*hour)

ontimer(tick, 100) #100ms後繼續呼叫tick

def main():

tracer(false)

init()

setupclock(160)

tracer(true)

tick()

mainloop()

if __name__ == '__main__':

main()

使用js實現時鐘效果

首先在單元格中輸入下面的 然後使用html顯示內容。這個寬高可以根據自己需要填。然後在預覽方式中新增載入結束事件 var dom document.getelementbyid view var ctx dom.getcontext 2d var width ctx.canvas.width var...

使用canvas實現數字時鐘效果

canvas id canvas canvas script function cxt.fillstyle f00 cxt.fillrect 10,10,50,50 cxt.strokestyle 0f0 儲存時間資料 vardata 儲存運動的小球 varballs 設定粒子半徑 varr can...

時鐘效果製做

首先準備四張,分別代表時分秒和背景。在這裡我就省略css 部分。主要的東西是設定時分秒為絕對定位,然後設定背景。注意background postion的定位為center center居中顯示就可以了。二 js部分,再沒有開始js部分之前我們需要了解的知識。第一步獲取時分秒元素,二 通過date物...