Это мой код, надеюсь, кто-нибудь поможет
Это мой код, надеюсь, кто-нибудь поможет
Это мой код. р>
class logInWindow(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.configure(bg='white')
header = ttk.Label(
self,
text="SRH-WIP",
anchor="center",
style="Header.TLabel"
)
# Footer als TTK-Label
bottom = ttk.Label(
self,
style="Footer.TLabel"
)
# TTK Style
style = ttk.Style()
style.configure("Header.TLabel", foreground='white', background='#DF4807', font=("Inter", 50, 'bold'))
style.configure("Footer.TLabel", background='#D9D9D9')
# login button
def login():
username = "Jack"
password = "12345"
if username_entry.get() == username and password_entry.get() == password:
#messagebox.showinfo(title="Erfolgreich", message="Anmeldung erfolgreich")
controller.show_frame(mainPage) # Zeige die MainPage, wenn Login erfolgreich
else:
messagebox.showinfo(title="Fehler", message="Passwort oder Benutzername falsch")
login_frame = tk.Frame(self, bg='white')
# create Anmelde Widget
login_label = tk.Label(login_frame, text="", bg='white', font=("Inter", 23, 'bold'))
username_label = tk.Label(login_frame, text="Benutzername", bg='white', font=("Inter", 19))
username_entry = tk.Entry(login_frame, bg='white', font=("Inter", 15))
password_entry = tk.Entry(login_frame, show="*", bg='white', font=("Inter", 15))
password_label = tk.Label(login_frame, text="Passwort ", bg='white', font=("Inter", 19))
login_button = tk.Button(
login_frame, text="Login", bg='#081424', fg='white', font=("Inter", 20, 'bold'), command=login)
# place on screen Anmelde Widget
login_label.grid(row=5, column=1, columnspan=3, sticky="", padx=40, pady=40)
username_label.grid(row=6, column=1)
username_entry.grid(row=7, column=1, padx=30, pady=10)
password_label.grid(row=8, column=1)
password_entry.grid(row=9, column=1, padx=30, pady=10)
login_button.grid(row=10, column=0, columnspan=2, padx=40, pady=30)
# Platziere Header und Footer relativ zur Fenstergröße
header.place(relx=0, rely=0, relwidth=1, relheight=0.1)
bottom.place(relx=0, rely=0.85, relwidth=1,
relheight=0.13)
login_frame.grid(row=1, column=0)
Я пробовал:
# Widgets in der Mitte zentrieren
login_label.grid(row=0, column=0, columnspan=3, sticky="nsew", padx=40, pady=(40, 10))
username_label.grid(row=1, column=0, sticky="nsew")
username_entry.grid(row=2, column=0, padx=30, pady=10, sticky="nsew")
password_label.grid(row=3, column=0, sticky="nsew")
password_entry.grid(row=4, column=0, padx=30, pady=10, sticky="nsew")
login_button.grid(row=5, column=0, padx=40, pady=30, sticky="nsew")
# create Anmelde Widget
login_label = tk.Label(login_frame, text="", bg='white', font=("Inter", 23, 'bold'))
username_label = tk.Label(login_frame, text="Benutzername", bg='white', font=("Inter", 19))
username_entry = tk.Entry(login_frame, bg='white', font=("Inter", 15))
password_label = tk.Label(login_frame, text="Passwort", bg='white', font=("Inter", 19))
password_entry = tk.Entry(login_frame, show="*", bg='white', font=("Inter", 15))
login_button = tk.Button(
login_frame, text="Login", bg='#081424', fg='white', font=("Inter", 20, 'bold'), command=login)
# place on screen Anmelde Widget
login_label.grid(row=0, column=0, columnspan=3, sticky="nsew", padx=40, pady=(40, 10))
username_label.grid(row=1, column=0, sticky="nsew")
username_entry.grid(row=2, column=0, padx=30, pady=10, sticky="nsew")
password_label.grid(row=3, column=0, sticky="nsew")
password_entry.grid(row=4, column=0, padx=30, pady=10, sticky="nsew")
login_button.grid(row=5, column=0, padx=40, pady=30, sticky="nsew")
login_frame.grid_rowconfigure(0, weight=1) # Für den login_label
login_frame.grid_rowconfigure(1, weight=1) # Für den username_label
login_frame.grid_rowconfigure(2, weight=1) # Für den username_entry
login_frame.grid_rowconfigure(3, weight=1) # Für den password_label
login_frame.grid_rowconfigure(4, weight=1) # Für den password_entry
login_frame.grid_rowconfigure(5, weight=1) # Für den login_button
Подробнее здесь: https://stackoverflow.com/questions/790 ... dow-center