Code Erklärung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Py-Team
User
Beiträge: 4
Registriert: Sonntag 5. Juni 2022, 16:20

Hallo,

Ich bin bisher noch ein anfänger für Python Programmierung, und habe erstmal versucht ein login in Tkinter zu machen, nun möchte ich(weil ich es momentan nicht alles weiß) eine erklärung. Könnt ihr mir helfen? Vielleicht Zeile für Zeile? so sieht der code aus:


import tkinter as tk #Importiert das Modul tkinter als tk

root = tk.Tk() #Erstelle das GUI-Fenster
root.geometry("350x600") #Stellt die größe und breite ein
root.title("Login") #gibt einen Titel
#root['bg'] = 'blue' mit diesem code kannst du die hintergrundfarbe ändern
show_face = "👍" #Erstellt eine Variable in der ein Emoji steht
hide_face = "👍" #Erstellt eine Variable in der ein Emoji steht

def show_hide_password(): #Erstellt eine neue funktion namens show_hide_password(Deutsch: Kennwort verbergen anzeigen)
if password_entry["show"] == "*": #Wenn in password_entry eingegeben wird, gebe als erstes * aus
password_entry.configure(show="")
show_hide_btn.configure(text=show_face)
else:
password_entry.configure(show="*")
show_hide_btn.configure(text=hide_face)

page_frame = tk.Frame(root)

user_name_lb = tk.Label(page_frame, text="User Name", font=("Bold", 15))
user_name_lb.pack(pady=10)

user_name_entry = tk.Entry(page_frame, font=("Bold", 15), bd=0)
user_name_entry.pack(pady=10)

password_lb = tk.Label(page_frame, text="Password", font=("Bold", 15))
password_lb.pack(pady=10)

show_hide_btn = tk.Button(root, text=hide_face, font=("Bold", 15), bd=0,
command=show_hide_password)
show_hide_btn.place(x=290, y=166)

password_entry = tk.Entry(page_frame, font=("Bold", 15), bd=0, show="*")
password_entry.pack(pady=10)

login_btn = tk.Button(page_frame, text="Login", font=("Bold", 15), bd=0,
bg="#158aff", fg="white")

login_btn.pack(pady=20)

page_frame.pack(pady=20)
page_frame.pack_propagate(False)
page_frame.configure(width=250, height=500)

root.mainloop()

LG
Benutzeravatar
sparrow
User
Beiträge: 4540
Registriert: Freitag 17. April 2009, 10:28

Deon Code gehört zwischen Code-Tags. Die erscheinen automatisch, wenn du den </> Button im "vollständigen Editor" klickst.

Interessante Erwartungshaltung. Du hast dir irgendwo einen Code im Internet gesucht und möchtest nun, dass wir dir den erklären? Wenn du den "gemacht" hättest, würdest du das ja wissen.
Benutzeravatar
__blackjack__
User
Beiträge: 14078
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Py-Team: Erklärung wovon? Von dem Code den Du selbst geschrieben hast?

Ich würde davon abraten GUI-Programme schreiben zu wollen bevor man mit den Grundlagen wie Funktionen und Klassen noch nicht vertraut ist.

Grössen sollte man nicht absolut vorgeben. Die Fenstergrösse und die Grösse von `page_frame` ergeben sich automatisch durch deren Inhalt. Wenn man da selbst mit absoluten Pixelangaben dran rum fummelt, mag das auf dem Rechner auf dem man das programmiert so funktionieren, aber auf anderen Systemen mit anderen Auflösungen und Einstellungen, kann das sogar unbenutzbar werden.

`place()` sollte man nicht verwenden, aus genau dem gleichen Grund.

Emojis und Tk/Tcl sind keine gute Kombination. Alles ausserhalb der „Basic Multilingual Plane“ kann Probleme machen. Bei mir führt alleine der Versuch zu ``_tkinter.TclError: character U+1f44d is above the range (U+0000-U+FFFF) allowed``.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten