私の連絡先情報
郵便メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
✨✨ Srluaのブログへようこそ(づ ̄3 ̄)づ╭❤~✨✨🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。
我是Srlua小谢,在这里我会分享我的知识和经验。🎥
希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮
记得先点赞👍后阅读哦~ 👏👏
📘📚 所属专栏:パイソン
欢迎访问我的主页:Srlua小谢 获取更多信息和资源。✨✨🌙🌙
目次
コマンドラインに「python Clock.py 22-28」と入力します。
主な機能は次のとおりです。
1. タートルなどのグラフィックス描画ライブラリを使用して、時、分、秒が異なる色で区別される動的なデジタル管時計を描画します。
2. キーボードから目覚まし時計を設定して、ウィンドウのポップアップリマインダーを実現できます。
3.パスPyインストーラ ライブラリを実行可能ファイルに変換します。
PyInstaller は、Python アプリケーションをスタンドアロンの実行可能ファイルにパッケージ化するためのライブラリです。
Python スクリプトと関連する依存関係 (ライブラリ、リソース ファイルなど) を 1 つの実行可能ファイルにパッケージ化できるため、ユーザーは Python インタープリターや関連ライブラリをインストールしなくてもアプリケーションを実行できます。 PyInstaller を使用すると、Windows、Mac、Linux などの複数のプラットフォームをサポートするクロスプラットフォームの実行可能ファイルを簡単に作成できます。
Clock.py はファイル名です。ファイル名が異なる場合は、実際のファイル名に合わせて変更してください。
22:28のリマインダーを意味します
- from turtle import *
- from datetime import datetime
- import time
- import sys
- from tkinter import messagebox, Tk
-
-
- def drawGap():
- penup()
- fd(5)
-
-
- def drawLine(draw):
- drawGap()
- pendown() if draw else penup()
- fd(40)
- drawGap()
- right(90)
-
-
- def drawDigit(d):
- speed(0)
- drawLine(True) if d in [2, 3, 4, 5, 6, 8, 9] else drawLine(False)
- drawLine(True) if d in [0, 1, 3, 4, 5, 6, 7, 8, 9] else drawLine(False)
- drawLine(True) if d in [0, 2, 3, 5, 6, 8, 9] else drawLine(False)
- drawLine(True) if d in [0, 2, 6, 8] else drawLine(False)
- left(90)
- drawLine(True) if d in [0, 4, 5, 6, 8, 9] else drawLine(False)
- drawLine(True) if d in [0, 2, 3, 5, 6, 7, 8, 9] else drawLine(False)
- drawLine(True) if d in [0, 1, 2, 3, 4, 7, 8, 9] else drawLine(False)
- left(180)
- penup()
- fd(20)
-
-
- def drawDate(date):
- pencolor('Red')
- for i in date:
- if i == "-":
- write('时', font=('Arial', 24, 'normal'))
- pencolor('Green')
- fd(40)
- elif i == '=':
- write('分', font=('Arial', 24, 'normal'))
- pencolor('Blue')
- fd(40)
- elif i == '+':
- write('秒', font=('Arial', 24, 'normal'))
- else:
- drawDigit(eval(i))
-
-
- def main(alarm_time=None):
- setup(800, 350, 200, 200)
- hideturtle()
- pensize(8)
- tracer(False) # 设置快速模式
-
- root = Tk()
- root.withdraw() # 隐藏主窗口
-
- while True:
- clear() # 清除之前绘制的内容
- penup()
- goto(-300, 0)
- current_time = datetime.now().strftime('%H-%M=%S+')
- drawDate(current_time)
- update() # 手动刷新屏幕
-
- if alarm_time and current_time.startswith(alarm_time):
- messagebox.showinfo("闹钟提醒", "时间到了!")
- alarm_time = None # 清除闹钟时间,防止重复提示
-
- time.sleep(1)
-
-
- if __name__ == "__main__":
- alarm_time = None
- if len(sys.argv) > 1:
- alarm_time = sys.argv[1] # 获取命令行输入的闹钟时间,格式为 HH-MM
- main(alarm_time)
- done()
お役に立てば幸いです!来て!
この記事の内容が役立つと思われた場合は、お気軽に高評価を押して購読し、貴重な情報を受け取り続けてください。ご清聴とご支援に心より感謝申し上げます。