Egy egyszerű bejelentkezési oldalt könnyű létrehozni, és ez egy nagyszerű hely a webhely vagy az alkalmazás elkészítésének megkezdéséhez.

Az interneten több mint egymilliárd weboldal található. A felhasználók fiókjainak biztonsága érdekében sok webes alkalmazáshoz – az online bankolástól a közösségi médiáig – bejelentkezési oldalra van szükség.

Tanulja meg, hogyan hozhat létre egyszerű bejelentkezési oldalt a Tkinter modul használatával, és ismerkedjen meg a grafikus felhasználói felületek Pythonban történő létrehozásának alapfogalmaival.

A Tkinter modul

A Tkinter segítségével létrehozhat egy bejelentkezési oldalt, amely elfogadja és érvényesíti a felhasználónevet és a jelszót. A Tkinter számos widgetet kínál, például gombokat, címkéket és szövegdobozokat, amelyek megkönnyítik az alkalmazások fejlesztését. Néhány alkalmazás, amelyet a Tkinter segítségével fejleszthet, többek között a To-Do alkalmazás, Zenelejátszó, a Pomodoro időzítő alkalmazásés a Word Jumble játék.

A Tkinter telepítéséhez nyisson meg egy terminált, és futtassa:

instagram viewer
pip install tkinter

Hogyan készítsünk bejelentkezési oldalt Python használatával

Ebben megtalálja a Python segítségével történő bejelentkezési oldal létrehozásának forráskódját GitHub adattár.

Importálja a szükséges könyvtárakat, és inicializálja a gyökérablakot. Állítsa be az ablak címét és méretét. Használni a Beállítás() funkciót, állítsa be a háttérszínt.

import tkinter
tól től tkinter import üzenetbox
ablak = tkinter. Tk()
window.title("Bejelentkezési oldal Python használatával")
window.geometry("750x550")
window.configure (bg='#8F00FF')

Határozzon meg egy függvényt, Belépés() amely a felhasználó hitelesítő adatai alapján hozza meg a kulcsfontosságú döntést. Ez az egyszerű demó kódolja az érvényes hitelesítő adatokat; egy igazi alkalmazás valószínűleg lekérné őket egy adatbázisból.

Tárolja a hitelesítő adatokat, és használja a kap() az egyes Bejegyzés widgetek metódusa a felhasználó által beírt adatok lekéréséhez. Az adatérvényesítésnek megfelelően jelenítsen meg egy üzenetdobozt a megfelelő címmel és üzenettel.

defBelépés():
felhasználónév = "kihasználni"
jelszó = "muo"

ha username_entry.get()==felhasználónév és password_entry.get()==jelszó:
messagebox.showinfo (title="Sikeres bejelentkezés!", üzenet="Sikeresen bejelentkeztél.")
más:
messagebox.showerror (title="Hiba", üzenet="Érvénytelen bejelentkezés.")

Határozzon meg egy Tkinter-keretet, amely szülőként működik, és adja meg a háttérszínt.

keret = tkinter. Keret (bg='#8F00FF')

Határozzon meg három címkét a bejelentkezéshez, a felhasználónévhez és a jelszóhoz. Adja át a szülőablakot, amelybe el szeretné helyezni a címkéket, a megjelenítendő szöveget, a háttérszínt, a betűtípus színét és a betűtípus stílusát.

login_label = tkinter. Címke (keret, szöveg="Bejelentkezési oldal Python használatával", bg='#000000', fg="#DC143C", font=("Arial", 30))
username_label = tkinter. Címke (keret, szöveg="Felhasználónév", bg='#8F00FF', fg="#FFFFFF", font=("Arial", 16, 'bátor'))
jelszó_címke = tkinter. Címke (keret, szöveg="Jelszó", bg='#8F00FF', fg="#FFFFFF", font=("Arial", 16, 'bátor'))

Határozzon meg két beviteli widgetet az adatok lekéréséhez a felhasználótól. Állítsa be a szülőablakot, amelybe el szeretné helyezni, a betűstílusokkal együtt. Használja a előadás attribútumot csillagként, hogy elrejtse a felhasználó által a képernyőn beírt jelszót.

username_entry = tkinter. Bejegyzés (keret, font=("Arial", 16))
password_entry = tkinter. Bejegyzés (keret, show="*", font=("Arial", 16))

Határozzon meg egy gombot a bejelentkezéshez, amely elfogadja a szülőablakot, mint korábban meghatározott keretet, és írja be meg kell jelennie, a háttérszín, a betűszín, a betűstílus és a parancs, amelyet mikor kell végrehajtania kattintott.

login_button = tkinter. Gomb (keret, szöveg="Belépés", bg="#DC143C", fg="#FFFFFF", font=("Arial", 16), parancs=bejelentkezés)

A rácskezelővel helyezze el a három címkét, két bejegyzést és egy bejelentkezési gombot rendezett táblázatos formátumban. A bejelentkezési címke fejlécként működik, és mindkét oszlopot elfoglalja. A ragadós beállítás megadja, hogy a widget a cella melyik széléhez ragadjon. Átadáskor mint hírek (észak-kelet-nyugat-dél), a program a szöveget vízszintes és függőleges irányban is középre állítja.

Helyezze el a címkéket a bal oldalon, egymás alá, és kövesse ugyanezt a jobb oldalon lévő beviteli widgetek esetében. A fejléchez hasonlóan helyezze el a bejelentkezési gombot mindkét oszlopban. Adjon megfelelő kitöltést az y irányban az összes widgethez.

login_label.grid (sor=0, oszlop=0, oszlophossz=2, ragadós="hírek", pady=40)
username_label.grid (row=1, oszlop=0)
username_entry.grid (sor=1, oszlop=1, pady=20)
password_label.grid (row=2, oszlop=0)
password_entry.grid (row=2, oszlop=1, pady=20)
login_button.grid (sor=3, oszlop=0, oszlophossz=2, pady=30)

Használja a csomag() az összes widget blokkokba rendezéséhez, és a Tkinter eseményhurok futtatásához és az események figyeléséhez, amíg be nem zárja az ablakot.

frame.pack()
window.mainloop()

Helyezze össze az összes kódot, és a bejelentkezési oldala használatra kész.

A bejelentkezési oldal alkalmazás mintakimenete

A program futtatásakor és az érvényes hitelesítő adatok megadásakor a program megjelenít egy üzenetet, amely jelzi, hogy a felhasználó sikeresen bejelentkezhet.

Ha a programot bármely más hitelesítő adattal futtatja, az üzenetmezőben hibaüzenet jelenik meg, amely érvénytelennek tartja a bejelentkezést.

Python bejelentkezési oldal fejlesztése

Használhat adatbázist, például a MySql-t a rekordok lekérésére és a felhasználói hitelesítő adatokkal való érvényesítésére. A mysql.connector könyvtár segít kapcsolatot létesíteni a Python Tkinter alkalmazás és a MySql adatbázis között.

A továbbfejlesztett felhasználói felület érdekében felfedezheti a customtkinter modul. Pusztán a Tkinter modulra épül, és segít olyan modern, teljesen testreszabható widgetek létrehozásában, amelyek nem állnak rendelkezésre a szabványos Tkinter könyvtár részeként. E két könyvtár kombinálása erősíti GUI programozási készségeit, és lépcsőfokként szolgál a kifinomultabb alkalmazások létrehozásában.