Einführung
In diesem Projekt werden wir eine digitale Uhr-Anwendung mit Python und der Tkinter-Bibliothek erstellen. Diese Uhr wird die aktuelle Zeit und das aktuelle Datum anzeigen und dem Benutzer ermöglichen, zwischen dem 12-Stunden- und dem 24-Stunden-Zeitenformat umzuschalten. Wir werden den Code in mehrere Schritte unterteilen, beginnend mit der Installation der erforderlichen Bibliotheken und endend mit dem Ausführen des Projekts.
👀 Vorschau

🎯 Aufgaben
In diesem Projekt lernen Sie:
- Wie man die erforderlichen Bibliotheken für das Erstellen einer digitalen Uhr mit Python installiert.
- Wie man das Projekt einrichtet, indem man das Python-Skript erstellt und die erforderlichen Bibliotheken importiert.
- Wie man eine Funktion definiert, um die aktuelle Zeit und das aktuelle Datum zu aktualisieren und anzuzeigen.
- Wie man eine Funktion erstellt, um zwischen dem 12-Stunden- und dem 24-Stunden-Zeitenformat umzuschalten.
- Wie man das Hauptanwendung-Fenster erstellt und die GUI-Stile konfiguriert.
- Wie man die GUI-Komponenten auf dem Hauptfenster erstellt und platziert.
- Wie man die Uhr startet, indem man die erforderlichen Funktionen aufruft und die Haupt-GUI-Schleife ausführt.
🏆 Errungenschaften
Nach Abschluss dieses Projekts können Sie:
- Bibliotheken mit pip, dem Python-Paketmanager, installieren.
- Die Tkinter-Bibliothek verwenden, um grafische Benutzeroberflächen in Python zu erstellen.
- Zeit und Datum in Python formatieren und anzeigen.
- Die Erscheinung von GUI-Komponenten mit themenbasierten Stilen anpassen.
- Buttons mit unterschiedlichem Text und Funktionalität erstellen.
- Ein Python-Skript ausführen und eine Haupt-GUI-Schleife ausführen.
Installiere erforderliche Bibliotheken
Bevor wir mit der Erstellung unserer digitalen Uhr mit Python beginnen, müssen wir sicherstellen, dass wir die erforderlichen Bibliotheken installiert haben. In diesem Schritt werden wir die erforderlichen Bibliotheken mit pip, dem Python-Paketmanager, installieren.
sudo apt update
sudo apt-get install python3-tk -y
pip install ttkthemes
Hier ist, wofür diese Bibliotheken verwendet werden:
tkinter: Diese Bibliothek liefert die Tools und Komponenten, die zur Erstellung grafischer Benutzeroberflächen (GUIs) in Python erforderlich sind. Es ist eine Standardbibliothek für die GUI-Entwicklung.ttkthemes: Diese Bibliothek ermöglicht es uns, themenbasierten Stilen zu verwenden und das Aussehen unserer Tkinter-Komponenten anzupassen, um unserer digitalen Uhr ein visuell ansprechendes Design zu geben.
Sie können diese Bibliotheken mit den obigen Befehlen in Ihrem Terminal oder der Befehlszeile installieren. Nachdem sie installiert sind, sind Sie bereit, mit der Erstellung der digitalen Uhr fortzufahren, wie in den folgenden Schritten beschrieben.
Jetzt erstellen Sie eine neue Python-Datei namens digital_clock.py und öffnen Sie sie in Ihrem bevorzugten Code-Editor.
cd ~/project
touch digital_clock.py
Projekt einrichten
Zunächst legen wir das Projekt an, indem wir das erforderliche Python-Skript erstellen und die erforderlichen Bibliotheken importieren.
## Importiere erforderliche Bibliotheken
import tkinter as tk
from tkinter import ttk
from ttkthemes import ThemedStyle
from time import strftime
In diesem Schritt:
- Wir importieren die
tkinter-Bibliothek zum Erstellen der grafischen Benutzeroberfläche (GUI). - Wir importieren spezifische Komponenten (
ttk,ThemedStyle) austkinterfür fortgeschrittene Gestaltung. - Wir importieren die
strftime-Funktion aus demtime-Modul, um die Zeit zu formatieren und anzuzeigen.
Zeitanzeigefunktion definieren
Als nächstes definieren wir eine Funktion, um die aktuelle Zeit und das aktuelle Datum zu aktualisieren und anzuzeigen.
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)
In diesem Schritt:
- Wir erstellen eine Funktion namens
time(), die die Zeit- und Datums-Labels aktualisiert. - Die Variable
current_time_formatbestimmt, ob das 24-Stunden- oder das 12-Stunden-Zeitenformat verwendet werden soll, basierend auf dem Flagis_24_hour_format. - Wir verwenden die
strftime-Funktion, um die aktuelle Zeit und das aktuelle Datum im gewünschten Format zu erhalten. - Die Labels (
label_timeundlabel_date) werden jeweils mit der aktuellen Zeit und dem aktuellen Datum aktualisiert. - Die Zeile
label_time.after(1000, time)plant die Ausführung dertime-Funktion alle 1000 Millisekunden (1 Sekunde), um die Zeit kontinuierlich zu aktualisieren.
Zeitformat umschalten
Lassen Sie uns eine Funktion erstellen, die es dem Benutzer ermöglicht, zwischen dem 12-Stunden- und dem 24-Stunden-Zeitenformat umzuschalten.
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")
In diesem Schritt:
- Wir definieren eine Funktion namens
toggle_time_format(), die das Flagis_24_hour_formatzwischenTrueundFalseumschaltet. - Das Label auf der Zeitenformat-Schaltfläche (
time_format_button) wird aktualisiert, um "12 Hour" oder "24 Hour" basierend auf dem aktuellen Format anzuzeigen.
Erstelle das Hauptanwendungsfenster
Jetzt erstellen wir das Hauptanwendungsfenster und legen seinen Titel und seine Abmessungen fest.
root = tk.Tk()
root.title("Digital Clock")
root.geometry("400x250")
In diesem Schritt:
- Wir erstellen das Hauptanwendungsfenster mit
tk.Tk(). - Wir setzen den Fenster-Titel auf "Digital Clock".
- Die Abmessungen des Fensters werden auf 400x250 Pixel festgelegt.
GUI-Stile konfigurieren
Konfiguriere die Stile für die Labels, Buttons und Rahmen, um das Aussehen der Uhr anzupassen.
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")
In diesem Schritt:
- Wir erstellen einen thematischen Stil für die GUI-Komponenten, um ein einheitliches Aussehen zu erzeugen.
- Die Textfarbe, Hintergrundfarbe und Schriftart des Labels werden angepasst.
- Die Textfarbe, Hintergrundfarbe und Schriftart des Buttons werden angepasst.
- Die Hintergrundfarbe des Rahmens wird angepasst.
GUI-Komponenten erstellen und platzieren
Jetzt erstellen und platzieren wir die GUI-Komponenten im Hauptfenster.
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)
In diesem Schritt:
- Wir erstellen einen Rahmen (
frame) mit dem angegebenen Stil und Innenabstand. - Der Rahmen wird im Zentrum des Hauptfensters platziert.
- Zwei Labels (
label_timeundlabel_date) werden erstellt, um die Zeit und das Datum anzuzeigen. - Ein Anfangswert von
Truewird füris_24_hour_formatgesetzt. - Ein Button (
time_format_button) wird mit dem Text "12 Hour" erstellt und dietoggle_time_format-Funktion als Befehl festgelegt. - Alle Komponenten werden gepackt und im Rahmen platziert.
Den Zeitgeber starten
Schließlich starten wir die Uhr, indem wir die time-Funktion aufrufen und die Haupt-GUI-Schleife ausführen.
time()
root.mainloop()
In diesem Schritt:
- Wir rufen die
time()-Funktion auf, um die Uhr zu starten. - Die
root.mainloop()-Methode startet die Haupt-GUI-Schleife, wodurch die Anwendung in Echtzeit ausgeführt und aktualisiert werden kann.
Jetzt starten wir die digitale-Uhr-Anwendung.
cd ~/project
python digital_clock.py

Zusammenfassung
In diesem Projekt haben wir eine digitale-Uhr-Anwendung mit Python und Tkinter erstellt. Wir haben den Prozess in mehrere Schritte unterteilt, darunter das Einrichten des Projekts, das Definieren von Funktionen für die Zeitanzeige und das Formatwechsels, die Konfiguration von GUI-Stilen, das Erstellen von GUI-Komponenten und das Ausführen der Uhr-Anwendung. Diese digitale Uhr zeigt die aktuelle Zeit und das Datum an und ermöglicht es Benutzern, zwischen 12-Stunden- und 24-Stunden-Zeitformaten zu wechseln.



