O pagină simplă de conectare este ușor de creat și este un loc minunat pentru a începe să vă construiți site-ul sau aplicația.
Există peste un miliard de site-uri web pe internet. Pentru a vă asigura că conturile utilizatorilor sunt sigure, multe aplicații web, de la servicii bancare online la rețelele sociale, necesită o pagină de conectare.
Aflați cum să creați o pagină simplă de conectare folosind modulul Tkinter și familiarizați-vă cu conceptele de bază ale construirii aplicațiilor GUI în Python.
Modulul Tkinter
Puteți folosi Tkinter pentru a crea o pagină de conectare care acceptă și validează un nume de utilizator și o parolă. Tkinter oferă o varietate de widget-uri, cum ar fi butoane, etichete și casete de text, care facilitează dezvoltarea aplicațiilor. Unele aplicații pe care le puteți dezvolta folosind Tkinter includ a Aplicație To-Do, Player muzical, A Aplicația Pomodoro Timer, și a Jocul Word Jumble.
Pentru a instala Tkinter, deschideți un terminal și rulați:
pip install tkinter
Cum să construiți o pagină de conectare folosind Python
Puteți găsi codul sursă pentru crearea unei pagini de autentificare folosind Python în aceasta Depozitul GitHub.
Importați bibliotecile necesare și inițializați fereastra rădăcină. Setați titlul și dimensiunea ferestrei. Folosind configure() funcția, setați culoarea de fundal.
import tkinter
din tkinter import caseta de mesaje
window = tkinter. Tk()
window.title(„Pagina de conectare folosind Python”)
window.geometry(„750x550”)
window.configure (bg=„#8F00FF”)
Definiți o funcție, log in() care va lua decizia cheie pe baza acreditărilor utilizatorului. Această demonstrație simplă codifică acreditările valide; o aplicație reală le-ar prelua probabil dintr-o bază de date.
Stocați acreditările și utilizați obține() metoda fiecărui widget Entry pentru a prelua datele introduse de utilizator. În funcție de validarea datelor, afișați o casetă de mesaj cu titlul și mesajul corespunzător.
deflog in():
nume de utilizator = "a se folosi de"
parola = "muo"
dacă username_entry.get()==nume utilizator și password_entry.get()==parolă:
messagebox.showinfo (title="Autentificare reușită!", mesaj=„Te-ai autentificat cu succes.”)
altfel:
messagebox.showerror (title="Eroare", mesaj="Autentificare invalid.")
Definiți un cadru Tkinter pentru a acționa ca părinte și dați-i o culoare de fundal.
frame = tkinter. Cadru (bg=„#8F00FF”)
Definiți trei etichete pentru autentificare, nume de utilizator și parolă. Treceți fereastra părinte în care doriți să plasați etichetele, textul pe care ar trebui să-l afișeze, culoarea de fundal, culoarea fontului și stilul fontului pe care ar trebui să-l aibă.
login_label = tkinter. Etichetă (cadru, text=„Pagina de conectare folosind Python”, bg='#000000', fg=„#DC143C”, font=("Arial", 30))
username_label = tkinter. Etichetă (cadru, text="Nume de utilizator", bg=„#8F00FF”, fg=„#FFFFFF”, font=("Arial", 16, 'îndrăzneţ'))
password_label = tkinter. Etichetă (cadru, text="Parola", bg=„#8F00FF”, fg=„#FFFFFF”, font=("Arial", 16, 'îndrăzneţ'))
Definiți două widget-uri de intrare pentru a obține datele de la utilizator. Setați fereastra părinte în care doriți să o plasați împreună cu stilurile de font. Folosește spectacol atribut ca un asterisc pentru a ascunde parola pe care utilizatorul o introduce pe ecran.
username_entry = tkinter. Intrare (cadru, font=("Arial", 16))
password_entry = tkinter. Intrare (cadru, afișare="*", font=("Arial", 16))
Definiți un buton pentru autentificare care acceptă fereastra părinte ca cadrul pe care l-ați definit mai devreme, textul acestuia ar trebui să se afișeze, culoarea de fundal, culoarea fontului, stilul fontului și comanda pe care ar trebui să o execute când făcut clic.
buton_login = tkinter. Buton (cadru, text="Log in", bg=„#DC143C”, fg=„#FFFFFF”, font=("Arial", 16), comandă=login)
Utilizați managerul de grilă pentru a plasa cele trei etichete, două intrări și un buton de conectare într-un format tabelar organizat. Eticheta de conectare va acționa ca un antet și va ocupa ambele coloane. Opțiunea sticky specifică la ce margine a celulei ar trebui să se lipească widgetul. La trecerea lui ca știri (nord-est-vest-sud), programul centrează textul atât pe direcția orizontală, cât și pe cea verticală.
Așezați etichetele în partea stângă, una sub alta și urmați același lucru pentru widget-urile de intrare din partea dreaptă. Similar cu antetul, plasați butonul de conectare ocupând ambele coloane. Oferiți umplutură adecvată în direcția y tuturor widget-urilor.
login_label.grid (rând=0, coloana=0, columnspan=2, lipicios="știri", pady=40)
username_label.grid (rând=1, coloana=0)
username_entry.grid (rând=1, coloana=1, pady=20)
password_label.grid (rând=2, coloana=0)
password_entry.grid (rând=2, coloana=1, pady=20)
login_button.grid (rând=3, coloana=0, columnspan=2, pady=30)
Folosește ambalaj() pentru a organiza toate widget-urile în blocuri și pentru a rula bucla de evenimente Tkinter și pentru a asculta evenimente până închideți fereastra.
frame.pack()
window.mainloop()
Puneți tot codul împreună și pagina dvs. de autentificare este gata de utilizare.
Exemplu de rezultat al aplicației Pagina de conectare
La rularea programului și introducerea acreditărilor valide, programul afișează o casetă de mesaj în care utilizatorul se poate conecta cu succes.
La rularea programului cu orice altă autentificare, caseta de mesaj afișează o eroare privind autentificarea ca fiind nevalidă.
Îmbunătățirea unei pagini de conectare Python
Puteți utiliza o bază de date, cum ar fi MySql, pentru a prelua înregistrările și pentru a le valida în funcție de acreditările utilizatorului. The mysql.connector biblioteca vă ajută să stabiliți o conexiune între aplicația dvs. Python Tkinter și baza de date MySql.
Pentru o interfață de utilizare îmbunătățită, puteți explora customtkinter modul. Este construit exclusiv pe modulul Tkinter și vă ajută să creați widget-uri moderne complet personalizabile, care nu sunt disponibile ca parte a bibliotecii standard Tkinter. Combinarea acestor două biblioteci, vă va amplifica abilitățile de programare GUI și va constitui o piatră de temelie în crearea de aplicații mai sofisticate.