Introduction
Dans ce projet, nous allons créer une application d'horloge numérique en utilisant Python et la bibliothèque Tkinter. Cette horloge affichera à la fois l'heure et la date actuelles, et elle permettra à l'utilisateur de basculer entre les formats d'heure 12 heures et 24 heures. Nous allons diviser le code en plusieurs étapes, commençant par l'installation des bibliothèques requises et se terminant par l'exécution du projet.
👀 Aperçu

🎯 Tâches
Dans ce projet, vous allez apprendre :
- Comment installer les bibliothèques nécessaires pour construire une horloge numérique avec Python.
- Comment configurer le projet en créant le script Python et en important les bibliothèques requises.
- Comment définir une fonction pour mettre à jour et afficher l'heure et la date actuelles.
- Comment créer une fonction pour basculer entre les formats d'heure 12 heures et 24 heures.
- Comment créer la fenêtre principale de l'application et configurer les styles d'interface graphique.
- Comment créer et placer les composants d'interface graphique sur la fenêtre principale.
- Comment démarrer l'horloge en appelant les fonctions nécessaires et en exécutant la boucle principale d'interface graphique.
🏆 Réalisations
Après avoir terminé ce projet, vous serez capable de :
- Installer des bibliothèques à l'aide de pip, le gestionnaire de packages Python.
- Utiliser la bibliothèque Tkinter pour créer des interfaces graphiques utilisateur en Python.
- Formater et afficher l'heure et la date en Python.
- Personnaliser l'apparence des composants d'interface graphique à l'aide de styles thématiques.
- Créer des boutons avec différents textes et fonctionnalités.
- Exécuter un script Python et exécuter une boucle principale d'interface graphique.
Installer les bibliothèques requises
Avant de commencer à construire notre horloge numérique avec Python, nous devons nous assurer d'avoir installé les bibliothèques nécessaires. Dans cette étape, nous installerons les bibliothèques requises à l'aide de pip, le gestionnaire de packages Python.
sudo apt update
sudo apt-get install python3-tk -y
pip install ttkthemes
Voici ce que font ces bibliothèques :
tkinter: Cette bibliothèque fournit les outils et les composants nécessaires pour créer des interfaces graphiques utilisateur (GUI) en Python. C'est une bibliothèque standard pour le développement d'interface graphique.ttkthemes: Cette bibliothèque nous permet d'utiliser des styles thématiques et de personnaliser l'apparence de nos composants Tkinter pour donner à notre horloge numérique un design visuellement attrayant.
Vous pouvez installer ces bibliothèques en utilisant les commandes ci-dessus dans votre terminal ou votre invite de commande. Une fois installées, vous êtes prêt à passer à la construction de l'horloge numérique comme décrit dans les étapes suivantes.
Maintenant, créez un nouveau fichier Python appelé digital_clock.py et ouvrez-le dans votre éditeur de code préféré.
cd ~/project
touch digital_clock.py
Configuration du projet
Tout d'abord, configurons le projet en créant le script Python nécessaire et en important les bibliothèques requises.
## Import necessary libraries
import tkinter as tk
from tkinter import ttk
from ttkthemes import ThemedStyle
from time import strftime
Dans cette étape :
- Nous importons la bibliothèque
tkinterpour créer l'interface graphique utilisateur (GUI). - Nous importons des composants spécifiques (
ttk,ThemedStyle) detkinterpour un style avancé. - Nous importons la fonction
strftimedu moduletimepour formater et afficher l'heure.
Définir la fonction d'affichage du temps
Ensuite, définissons une fonction pour mettre à jour et afficher l'heure et la date actuelles.
def time():
current_time_format = "%H:%M:%S" if is_24_hour_format else "%I:%M:%S %p"
current_time = strftime(current_time_format)
current_date = strftime("%A, %B %d, %Y")
label_time.config(text=current_time)
label_date.config(text=current_date)
label_time.after(1000, time)
Dans cette étape :
- Nous créons une fonction appelée
time()qui met à jour les étiquettes d'heure et de date. - La variable
current_time_formatdétermine si on utilise le format d'heure de 24 heures ou de 12 heures en fonction du drapeauis_24_hour_format. - Nous utilisons la fonction
strftimepour obtenir l'heure et la date actuelles au format souhaité. - Les étiquettes (
label_timeetlabel_date) sont mises à jour avec l'heure et la date actuelles respectivement. - La ligne
label_time.after(1000, time)programme la fonctiontimepour s'exécuter toutes les 1000 millisecondes (1 seconde) pour mettre constamment à jour l'heure.
Basculer le format d'heure
Créons une fonction qui permet à l'utilisateur de basculer entre les formats d'heure de 12 heures et de 24 heures.
def toggle_time_format():
global is_24_hour_format
is_24_hour_format = not is_24_hour_format
time_format_button.config(text="12 Hour" if is_24_hour_format else "24 Hour")
Dans cette étape :
- Nous définissons une fonction appelée
toggle_time_format()qui bascule le drapeauis_24_hour_formatentreTrueetFalse. - L'étiquette sur le bouton de format d'heure (
time_format_button) est mise à jour pour afficher "12 Hour" ou "24 Hour" selon le format actuel.
Créer la fenêtre principale de l'application
Maintenant, créons la fenêtre principale de l'application et définissons son titre et ses dimensions.
root = tk.Tk()
root.title("Digital Clock")
root.geometry("400x250")
Dans cette étape :
- Nous créons la fenêtre principale de l'application en utilisant
tk.Tk(). - Nous définissons le titre de la fenêtre sur "Digital Clock".
- Les dimensions de la fenêtre sont définies sur 400x250 pixels.
Configurer les styles d'interface graphique
Configurez les styles des étiquettes, des boutons et des cadres pour personnaliser l'apparence de l'horloge.
style = ThemedStyle(root)
style.set_theme("plastik")
style.configure(
"TLabel", foreground="#FF5733", background="#333333", font=("calibri", 48, "bold")
)
style.configure(
"TButton", foreground="#FF5733", background="#333333", font=("calibri", 10, "bold")
)
style.configure("TFrame", background="#333333")
Dans cette étape :
- Nous créons un style thématiques pour les composants de l'interface graphique pour appliquer un aspect et une sensation cohérents.
- La couleur du texte de l'étiquette, la couleur d'arrière-plan et la police sont personnalisées.
- La couleur du texte du bouton, la couleur d'arrière-plan et la police sont personnalisées.
- La couleur d'arrière-plan du cadre est personnalisée.
Créer et placer les composants d'interface graphique
Maintenant, créons et plaçons les composants de l'interface graphique sur la fenêtre principale.
frame = ttk.Frame(root, style="TFrame", padding=20)
frame.place(relx=0.5, rely=0.5, anchor="center")
label_time = ttk.Label(frame, font=("calibri", 48, "bold"))
label_time.pack()
label_date = ttk.Label(frame, font=("calibri", 16))
label_date.pack()
is_24_hour_format = True
time_format_button = ttk.Button(
frame, text="12 Hour", command=toggle_time_format, style="TButton"
)
time_format_button.pack(pady=20)
Dans cette étape :
- Nous créons un cadre (
frame) avec le style et la marge spécifiés. - Le cadre est centré dans la fenêtre principale.
- Deux étiquettes (
label_timeetlabel_date) sont créées pour afficher l'heure et la date. - Une valeur initiale de
Trueest définie pouris_24_hour_format. - Un bouton (
time_format_button) est créé avec le texte "12 Hour" et la fonctiontoggle_time_formatest définie comme commande. - Tous les composants sont empaquetés et placés dans le cadre.
Démarrer l'horloge
Enfin, commençons l'horloge en appelant la fonction time et en exécutant la boucle principale de l'interface graphique.
time()
root.mainloop()
Dans cette étape :
- Nous appelons la fonction
time()pour initialiser l'horloge. - La méthode
root.mainloop()lance la boucle principale de l'interface graphique, permettant à l'application de s'exécuter et de se mettre à jour en temps réel.
Maintenant, exécutons l'application d'horloge numérique.
cd ~/project
python digital_clock.py

Résumé
Dans ce projet, nous avons créé une application d'horloge numérique en utilisant Python et Tkinter. Nous avons divisé le processus en plusieurs étapes, y compris la configuration du projet, la définition de fonctions pour l'affichage du temps et le basculement du format, la configuration des styles de l'interface graphique, la création des composants de l'interface graphique et l'exécution de l'application d'horloge. Cette horloge numérique affiche l'heure et la date actuelles et permet aux utilisateurs de basculer entre les formats 12 heures et 24 heures.



