欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python使用Pygame繪制時鐘

 更新時間:2020年11月29日 17:06:48   作者:浩瀚藍天dep  
這篇文章主要為大家詳細介紹了Python使用Pygame繪制時鐘,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Python使用Pygame繪制時鐘的具體代碼,供大家參考,具體內(nèi)容如下

前提條件:

需要安裝pygame

功能:

1.初始化界面顯示一個時鐘界面

2.根據(jù)當前的時間實現(xiàn)時針、分針、秒針的移動

import pygame, sys, random, math
from datetime import datetime
from pygame.locals import *
 
 
def print_text(font, x, y, text, color=(255, 255, 255)):
 img_text = font.render(text, True, color)
 screen.blit(img_text, (x, y))
 
 
pygame.init()
 
# 屏幕大小
screen = pygame.display.set_mode((600, 500))
# 標題
pygame.display.set_caption("時鐘")
# 字體
font1 = pygame.font.Font(None, 24)
# 圓心位置
pos_x = 300
pos_y = 250
# 圓的半徑
radius = 250
r = random.randint(0, 255)
g = random.randint(0, 255)
b = random.randint(0, 255)
 
while True:
 for event in pygame.event.get():
  if event.type == QUIT:
   sys.exit()
 keys = pygame.key.get_pressed()
 if keys[K_ESCAPE]:
  sys.exit()
 screen.fill((0, 0, 100))
 color = r, g, b
 pygame.draw.circle(screen, color, (pos_x, pos_y), radius, 6)
 # 繪制數(shù)字1-12
 for i in range(1, 13):
  angle = math.radians((360 / 12) * i - 90)
  x = math.cos(angle) * (radius - 20) - 10
  y = math.sin(angle) * (radius - 20) - 10
  print_text(font1, pos_x + x, pos_y + y, str(i))
 # 繪制時針
 hour = datetime.today().hour % 12 # 獲取當前時間的小時
 hour_angle = math.radians((360 / 12) * hour - 90)
 hour_x = math.cos(hour_angle) * (radius - 90)
 hour_y = math.sin(hour_angle) * (radius - 90)
 pygame.draw.line(screen, (255, 0, 0), (pos_x, pos_y), (pos_x + hour_x, pos_y + hour_y), 12)
 # 繪制分針
 minutes = datetime.today().minute # 獲取當前時間的分鐘
 minutes_angle = math.radians((360 / 60) * minutes - 90)
 minutes_x = math.cos(minutes_angle) * (radius - 70)
 minutes_y = math.sin(minutes_angle) * (radius - 70)
 pygame.draw.line(screen, (0, 255, 0), (pos_x, pos_y), (pos_x + minutes_x, pos_y + minutes_y), 8)
 # 繪制秒針
 seconds = datetime.today().second # 獲取當前時間的秒數(shù)
 seconds_angle = math.radians((360 / 60) * seconds - 90)
 seconds_x = math.cos(seconds_angle) * (radius - 30)
 seconds_y = math.sin(seconds_angle) * (radius - 30)
 pygame.draw.line(screen, (0, 0, 255), (pos_x, pos_y), (pos_x + seconds_x, + pos_y + seconds_y), 4)
 # 覆蓋圓心
 pygame.draw.circle(screen, (255, 255, 255), (pos_x, pos_y), 10)
 
 pygame.display.update()

運行結(jié)果:

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 用Python的線程來解決生產(chǎn)者消費問題的示例

    用Python的線程來解決生產(chǎn)者消費問題的示例

    這篇文章主要介紹了用Python的線程來解決生產(chǎn)者消費問題的示例,包括對使用線程中容易出現(xiàn)的一些問題給出了相關(guān)解答,需要的朋友可以參考下
    2015-04-04
  • Pytest?Fixture參數(shù)講解及使用

    Pytest?Fixture參數(shù)講解及使用

    這篇文章主要介紹了Pytest之Fixture參數(shù)詳解及使用,本文結(jié)合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • 關(guān)于Python解包知識點總結(jié)

    關(guān)于Python解包知識點總結(jié)

    在本篇文章里小編給各位分享的是關(guān)于Python解包知識點總結(jié),有興趣的朋友們可以學習參考下。
    2020-05-05
  • tensorflow多維張量計算實例

    tensorflow多維張量計算實例

    今天小編就為大家分享一篇tensorflow多維張量計算實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 使用python+whoosh實現(xiàn)全文檢索

    使用python+whoosh實現(xiàn)全文檢索

    今天小編就為大家分享一篇使用python+whoosh實現(xiàn)全文檢索,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 在Python中利用Pandas庫處理大數(shù)據(jù)的簡單介紹

    在Python中利用Pandas庫處理大數(shù)據(jù)的簡單介紹

    這篇文章簡單介紹了在Python中利用Pandas處理大數(shù)據(jù)的過程,Pandas庫的使用能夠很好地展現(xiàn)數(shù)據(jù)結(jié)構(gòu),是近來Python項目中經(jīng)常被使用使用的熱門技術(shù),需要的朋友可以參考下
    2015-04-04
  • python mysql自增字段AUTO_INCREMENT值的修改方式

    python mysql自增字段AUTO_INCREMENT值的修改方式

    這篇文章主要介紹了python mysql自增字段AUTO_INCREMENT值的修改方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • python 如何上傳包到pypi

    python 如何上傳包到pypi

    這篇文章主要介紹了python 如何上傳包到pypi,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • python使用selenium登錄QQ郵箱(附帶滑動解鎖)

    python使用selenium登錄QQ郵箱(附帶滑動解鎖)

    這篇文章主要為大家詳細介紹了python使用selenium登錄QQ郵箱,帶滑動解鎖登錄功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • python實現(xiàn)pptx批量向PPT中插入圖片

    python實現(xiàn)pptx批量向PPT中插入圖片

    大家好,本篇文章主要講的是python實現(xiàn)pptx批量向PPT中插入圖片,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02

最新評論