2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
✨✨ Bienvenue sur le blog de Srlua (づ ̄3 ̄)づ╭❤~✨✨🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。
我是Srlua小谢,在这里我会分享我的知识和经验。🎥
希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮
记得先点赞👍后阅读哦~ 👏👏
📘📚 所属专栏:Python
欢迎访问我的主页:Srlua小谢 获取更多信息和资源。✨✨🌙🌙
Table des matières
Peut être glissé sur le bureau ~
Entrez sur la ligne de commande, python clock.py 22-28
Les principales fonctions sont les suivantes :
1. Utilisez des bibliothèques de dessins graphiques telles que Turtle pour dessiner une horloge à tube numérique dynamique, dans laquelle les heures, les minutes et les secondes se distinguent par différentes couleurs.
2. Vous pouvez régler le réveil via le clavier pour réaliser des rappels contextuels dans la fenêtre.
3. PasserPyInstallateur Convertissez la bibliothèque en fichier exécutable.
PyInstaller est une bibliothèque permettant de regrouper des applications Python dans des exécutables autonomes.
Il peut regrouper les scripts Python et les dépendances associées (telles que les bibliothèques, les fichiers de ressources) dans un seul fichier exécutable, afin que les utilisateurs puissent exécuter des applications sans installer d'interpréteur Python ou de bibliothèques associées. En utilisant PyInstaller, vous pouvez facilement créer des fichiers exécutables multiplateformes, prenant en charge plusieurs plates-formes telles que Windows, Mac et Linux.
clock.py est le nom du fichier. Si le nom du fichier est différent, modifiez-le en fonction du nom réel du fichier.
Cela signifie un rappel à 22h28
- 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()
J'espère que cela vous aidera ! allez!
Si vous trouvez le contenu de cet article utile, n'hésitez pas à lui donner un coup de pouce et à vous abonner pour continuer à recevoir des informations précieuses. Merci sincèrement pour votre attention et votre soutien !