python交互式圖形編程實(shí)例(三)
本文實(shí)例為大家分享了python交互式圖形編程實(shí)例的第三部代碼,供大家參考,具體內(nèi)容如下
#!/usr/bin/env python3 # -*- coding: utf-8 -*- #時(shí)鐘 from turtle import * from datetime import * def Skip(step): penup() forward(step) pendown() def mkHand(name, length): #注冊(cè)Turtle形狀,建立表針Turtle reset() Skip(-length*0.1) begin_poly() #開(kāi)始記錄畫(huà)筆坐標(biāo) forward(length*1.1) #畫(huà)筆向前移動(dòng)length*1.1 end_poly() #結(jié)束記錄畫(huà)筆坐標(biāo) handForm = get_poly() #記錄畫(huà)筆起始和結(jié)束坐標(biāo)位置(一個(gè)元組數(shù)據(jù)) register_shape(name, handForm) #注冊(cè)這個(gè)形狀 def Init(): global secHand, minHand, hurHand, printer mode("logo")# 重置Turtle指向北 #建立三個(gè)表針Turtle并初始化 mkHand("secHand", 125) mkHand("minHand", 130) mkHand("hurHand", 90) secHand = Turtle() secHand.shape("secHand") minHand = Turtle() minHand.shape("minHand") hurHand = Turtle() hurHand.shape("hurHand") for hand in secHand, minHand, hurHand: hand.shapesize(1, 1, 3) hand.speed(0) #建立輸出文字Turtle printer = Turtle() printer.hideturtle() #隱藏畫(huà)筆 printer.penup() def SetupClock(radius): #建立表的外框 reset() pensize(7) #畫(huà)筆大小 for i in range(60): Skip(radius) #畫(huà)筆抬起,向前移動(dòng)“radius”具體 if i % 5 == 0: forward(20) #如果能被5整除,就向前移動(dòng)20 Skip(-radius-20) #畫(huà)筆再回退到原位置 else: dot(5) #畫(huà)一個(gè)5個(gè)像素的點(diǎn) Skip(-radius) #畫(huà)筆再回退到原位置 right(6) #每次循環(huán)向右移動(dòng)6個(gè)弧度 def Week(t): week = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"] return week[t.weekday()] #返回當(dāng)前是星期幾 def Date(t): y = t.year m = t.month d = t.day return "%s %d %d" % (y, m, d) #返回當(dāng)前日期 def Tick(): #繪制表針的動(dòng)態(tài)顯示 t = datetime.today() second = t.second + t.microsecond*0.000001 #精確到微秒 minute = t.minute + second/60.0 #精確的秒 hour = t.hour + minute/60.0 #精確到分鐘 secHand.setheading(6*second) #秒針設(shè)定的角度 一圈360度,一圈60秒 360/60 = 6 minHand.setheading(6*minute) #分針設(shè)定的角度 一圈360度,一圈60分鐘 360/60 = 6 hurHand.setheading(30*hour) #時(shí)針設(shè)定的角度 一圈360度,一圈12小時(shí) 360/12 = 30 tracer(False) #取消動(dòng)畫(huà),字直接打在畫(huà)布上 printer.forward(65) printer.write(Week(t), align="center", font=("Courier", 14, "bold")) printer.back(130) printer.write(Date(t), align="center", font=("Courier", 14, "bold")) printer.home() tracer(True) #開(kāi)啟動(dòng)畫(huà) ontimer(Tick, 100)#100ms后繼續(xù)調(diào)用tick def main(): tracer(False) Init() #把表針畫(huà)出來(lái) SetupClock(160) #把表盤(pán)畫(huà)出來(lái) tracer(True) Tick() #讓表針動(dòng)起來(lái),文字寫(xiě)上去 mainloop() if __name__ == "__main__": main()
#!/usr/bin/env python3 # -*- coding: utf-8 -*- #鍵盤(pán)值查詢(xún) from tkinter import * root=Tk() #創(chuàng)建一個(gè)框架,在這個(gè)框架中響應(yīng)事件 frame=Frame(root,width=256,height=256) def callBack(event): print(event.keysym) frame.bind("<KeyPress>",callBack) frame.pack() #當(dāng)前框架被選中,意思是鍵盤(pán)觸發(fā),只對(duì)這個(gè)框架有效 frame.focus_set() mainloop()
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python 之pandas庫(kù)的安裝及庫(kù)安裝方法小結(jié)
Pandas 是一種開(kāi)源的、易于使用的數(shù)據(jù)結(jié)構(gòu)和Python編程語(yǔ)言的數(shù)據(jù)分析工具,它與 Scikit-learn 兩個(gè)模塊幾乎提供了數(shù)據(jù)科學(xué)家所需的全部工具,今天通過(guò)本文給大家介紹Python 之pandas庫(kù)的安裝及庫(kù)安裝方法小結(jié),感興趣的朋友跟隨小編一起看看吧2022-11-11解決導(dǎo)入django_filters不成功問(wèn)題No module named ''django_filter''
這篇文章主要介紹了解決導(dǎo)入django_filters不成功問(wèn)題No module named 'django_filter',具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07解決Pycharm調(diào)用Turtle時(shí) 窗口一閃而過(guò)的問(wèn)題
今天小編就為大家分享一篇解決Pycharm調(diào)用Turtle時(shí) 窗口一閃而過(guò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02Python實(shí)現(xiàn)隨機(jī)選擇元素功能
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)隨機(jī)選擇元素功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09python自動(dòng)化測(cè)試三部曲之request+django實(shí)現(xiàn)接口測(cè)試
這篇文章主要介紹了python自動(dòng)化測(cè)試三部曲之request+django實(shí)現(xiàn)接口測(cè)試,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10Python接口測(cè)試結(jié)果集實(shí)現(xiàn)封裝比較
這篇文章主要介紹了Python接口測(cè)試結(jié)果集比較封裝,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Python筆記之a(chǎn) = [0]*x格式的含義及說(shuō)明
這篇文章主要介紹了Python筆記之a(chǎn) = [0]*x格式的含義及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05