Una semplice pagina di accesso è facile da creare ed è un ottimo posto per iniziare a costruire il tuo sito web o la tua app.

Ci sono oltre un miliardo di siti web su Internet. Per garantire la sicurezza degli account degli utenti, molte applicazioni Web, dall'online banking ai social media, richiedono una pagina di accesso.

Scopri come creare una semplice pagina di accesso utilizzando il modulo Tkinter e familiarizza con i concetti di base della creazione di app GUI in Python.

Il modulo Tkinter

Puoi utilizzare Tkinter per creare una pagina di accesso che accetti e convalidi un nome utente e una password. Tkinter offre una varietà di widget come pulsanti, etichette e caselle di testo che semplificano lo sviluppo di app. Alcune applicazioni che puoi sviluppare utilizzando Tkinter includono a Applicazione da fare, Lettore musicale, UN App Timer Pomodoro, e un Gioco di parola Jumble.

Per installare Tkinter, apri un terminale ed esegui:

pip installa tkinter

Come costruire una pagina di accesso usando Python

instagram viewer

Puoi trovare il codice sorgente per creare una pagina di accesso usando Python in questo Deposito GitHub.

Importa le librerie richieste e inizializza la finestra principale. Imposta il titolo e la dimensione della finestra. Usando il configura() funzione, impostare il colore di sfondo.

importare tkinter
da tkinter importare casella dei messaggi
finestra = tkinter. tk()
finestra.titolo("Pagina di accesso utilizzando Python")
finestra.geometria('750x550')
window.configure (bg='#8F00FF')

Definire una funzione, login() che prenderà la decisione chiave in base alle credenziali dell'utente. Questa semplice demo codifica le credenziali valide; una vera app probabilmente li recupererebbe da un database.

Archiviare le credenziali e utilizzare il file Ottenere() metodo di ciascun widget Entry per recuperare i dati immessi dall'utente. In base alla convalida dei dati, visualizzare una finestra di messaggio con il titolo e il messaggio appropriati.

deflogin():
nome utente = "utilizzare"
parola d'ordine = "muo"

Se username_entry.get()==nomeutente E password_entry.get()==password:
messagebox.showinfo (titolo="Accesso riuscito!", messaggio="Hai effettuato l'accesso con successo.")
altro:
messagebox.showerror (titolo="Errore", messaggio="Login non valido.")

Definisci un frame Tkinter che funga da genitore e assegnagli un colore di sfondo.

telaio = tkinter. Telaio (bg='#8F00FF')

Definisci tre etichette per login, nome utente e password. Passa la finestra principale in cui desideri posizionare le etichette, il testo che dovrebbe visualizzare, il colore di sfondo, il colore del carattere e lo stile del carattere che dovrebbe avere.

login_label = tkinter. Etichetta (cornice, testo="Pagina di accesso utilizzando Python", bg='#000000', fg="#DC143C", carattere=("Arial", 30))
username_label = tkinter. Etichetta (cornice, testo="Nome utente", bg='#8F00FF', fg="#FFFFFF", carattere=("Arial", 16, 'grassetto'))
etichetta_password = tkinter. Etichetta (cornice, testo="Parola d'ordine", bg='#8F00FF', fg="#FFFFFF", carattere=("Arial", 16, 'grassetto'))

Definire due widget di immissione per ottenere i dati dall'utente. Imposta la finestra principale in cui desideri inserirla insieme agli stili di carattere. Usa il spettacolo attributo come un asterisco per nascondere la password digitata dall'utente sullo schermo.

username_entry = tkinter. Voce (cornice, font=("Arial", 16))
password_entry = tkinter. Voce (frame, mostra="*", carattere=("Arial", 16))

Definisci un pulsante per il login che accetti la finestra principale come cornice definita in precedenza, il testo it dovrebbe visualizzare, il colore di sfondo, il colore del carattere, lo stile del carattere e il comando che dovrebbe eseguire quando cliccato.

login_button = tkinter. Pulsante (cornice, testo="Login", bg="#DC143C", fg="#FFFFFF", carattere=("Arial", 16), comando=login)

Utilizzare il gestore della griglia per posizionare le tre etichette, due voci e un pulsante di accesso in un formato tabulare organizzato. L'etichetta di accesso fungerà da intestazione e occuperà entrambe le colonne. L'opzione sticky specifica a quale bordo della cella deve aderire il widget. Passandolo come notizia (nord-est-ovest-sud), il programma centra il testo sia in direzione orizzontale che verticale.

Posiziona le etichette sul lato sinistro, una sotto l'altra, e segui lo stesso per i widget di ingresso sul lato destro. Simile all'intestazione, posiziona il pulsante di accesso che occupa entrambe le colonne. Assegna un'imbottitura appropriata nella direzione y a tutti i widget.

login_label.grid (riga=0, colonna=0, colonne =2, appiccicoso="notizia", pady=40)
username_label.grid (riga=1, colonna=0)
username_entry.grid (riga=1, colonna=1, pady=20)
etichetta_password.grid (riga=2, colonna=0)
password_entry.grid (riga=2, colonna=1, pady=20)
login_button.grid (riga=3, colonna=0, colonne =2, pady=30)

Usa il pacchetto() per organizzare tutti i widget in blocchi ed eseguire il ciclo di eventi Tkinter e ascoltare gli eventi finché non chiudi la finestra.

telaio.pack()
finestra.mainloop()

Metti insieme tutto il codice e la tua pagina di accesso è pronta per l'uso.

Esempio di output dell'app della pagina di accesso

Quando si esegue il programma e si immettono le credenziali valide, il programma visualizza una finestra di messaggio in cui l'utente può accedere correttamente.

Quando si esegue il programma con qualsiasi altra credenziale, la finestra di messaggio visualizza un errore relativo all'accesso come non valido.

Miglioramento di una pagina di accesso Python

È possibile utilizzare un database come MySql per recuperare i record e convalidarli rispetto alle credenziali dell'utente. IL mysql.connector library ti aiuta a stabilire una connessione tra la tua applicazione Python Tkinter e il database MySql.

Per un'interfaccia utente migliorata, puoi esplorare il customtkinter modulo. È basato esclusivamente sul modulo Tkinter e ti aiuta a creare widget moderni completamente personalizzabili che non sono disponibili come parte della libreria Tkinter standard. La combinazione di queste due librerie amplierà le tue capacità di programmazione della GUI e costituirà un trampolino di lancio nella creazione di applicazioni più sofisticate.