Една проста страница за вход е лесна за създаване и е чудесно място да започнете да изграждате своя уебсайт или приложение.
В интернет има над един милиард уебсайта. За да се гарантира, че акаунтите на потребителите са безопасни, много уеб приложения – от онлайн банкиране до социални медии – изискват страница за вход.
Научете как да създадете проста страница за вход с помощта на модула Tkinter и се запознайте с основните концепции за изграждане на GUI приложения в Python.
Модулът Tkinter
Можете да използвате Tkinter, за да създадете страница за вход, която приема и потвърждава потребителско име и парола. Tkinter предлага разнообразие от джаджи като бутони, етикети и текстови полета, които улесняват разработването на приложения. Някои приложения, които можете да разработите с помощта на Tkinter, включват a Приложение за задачи, Музикален плеър, а Приложение за таймер Pomodoroи а Игра на Word Jumble.
За да инсталирате Tkinter, отворете терминал и стартирайте:
pip инсталирайте tkinter
Как да създадете страница за вход с помощта на Python
Тук можете да намерите изходния код за създаване на страница за вход с помощта на Python GitHub хранилище.
Импортирайте необходимите библиотеки и инициализирайте основния прозорец. Задайте заглавието и размера на прозореца. Използвайки конфигурирам () функция, задайте цвета на фона.
импортиране tkinter
от tkinter импортиране кутия за съобщения
прозорец = tkinter. Tk()
window.title(„Страница за вход с помощта на Python“)
window.geometry('750x550')
window.configure (bg=„#8F00FF“)
Дефинирайте функция, Влизам() който ще вземе ключовото решение въз основа на идентификационните данни на потребителя. Тази проста демонстрация твърдо кодира валидните идентификационни данни; истинско приложение вероятно ще ги извлече от база данни.
Съхранявайте идентификационните данни и използвайте получи() метод на всеки изпълним модул Entry за извличане на въведените от потребителя данни. Според проверката на данните, покажете поле за съобщение със съответното заглавие и съобщение.
дефВлизам():
потребителско име = "да се възползват от"
парола = "муо"
ако username_entry.get()==потребителско име и password_entry.get()==парола:
messagebox.showinfo (заглавие="Успешен вход!", съобщение=„Влязохте успешно.“)
друго:
messagebox.showerror (title="грешка", съобщение="Невалидно вписване.")
Дефинирайте рамка на Tkinter, която да действа като родител и да й придаде цвят на фона.
рамка = tkinter. Рамка (bg=„#8F00FF“)
Дефинирайте три етикета за вход, потребителско име и парола. Предайте родителския прозорец, в който искате да поставите етикетите, текста, който трябва да показва, цвета на фона, цвета на шрифта и стила на шрифта, който трябва да има.
логин_етикет = tkinter. Етикет (рамка, текст=„Страница за вход с помощта на Python“, bg='#000000', fg="#DC143C", шрифт=("Arial", 30))
потребителско_име_етикет = tkinter. Етикет (рамка, текст="Потребителско име", bg=„#8F00FF“, fg="#FFFFFF", шрифт=("Arial", 16, "удебелен"))
парола_етикет = tkinter. Етикет (рамка, текст="Парола", bg=„#8F00FF“, fg="#FFFFFF", шрифт=("Arial", 16, "удебелен"))
Дефинирайте два уиджета за въвеждане, за да получите данните от потребителя. Задайте родителския прозорец, в който искате да го поставите, заедно със стиловете на шрифта. Използвай шоу атрибут като звездичка, за да скриете паролата, която потребителят въвежда на екрана.
username_entry = tkinter. Запис (рамка, шрифт=("Arial", 16))
парола_въвеждане = tkinter. Вход (рамка, шоу="*", шрифт=("Arial", 16))
Дефинирайте бутон за влизане, който приема родителския прозорец като рамката, която сте дефинирали по-рано, текста трябва да показва цвета на фона, цвета на шрифта, стила на шрифта и командата, която трябва да изпълни, когато щракна.
login_button = tkinter. Бутон (рамка, текст="Влизам", bg="#DC143C", fg="#FFFFFF", шрифт=("Arial", 16), команда=вход)
Използвайте мениджъра на мрежата, за да поставите трите етикета, два записа и бутон за влизане в организиран табличен формат. Етикетът за влизане ще действа като заглавка и ще заема и двете колони. Залепващата опция указва към кой край на клетката трябва да се придържа джаджата. При преминаването му като Новини (север-изток-запад-юг), програмата центрира текста както в хоризонтална, така и във вертикална посока.
Поставете етикетите от лявата страна, един под друг, и следвайте същото за приспособленията за въвеждане от дясната страна. Подобно на заглавката, поставете бутона за влизане в двете колони. Дайте подходяща подложка в посока y на всички джаджи.
login_label.grid (ред=0, колона=0, колона =2, лепкав ="Новини", pady=40)
username_label.grid (ред=1, колона=0)
username_entry.grid (ред=1, колона=1, pady=20)
password_label.grid (ред=2, колона=0)
password_entry.grid (ред=2, колона=1, pady=20)
login_button.grid (ред=3, колона=0, колона =2, pady=30)
Използвай пакет() за да организирате всички джаджи в блокове и да стартирате цикъла на събитията на Tkinter и да слушате за събития, докато затворите прозореца.
frame.pack()
window.mainloop()
Съберете целия код и вашата страница за вход е готова за използване.
Примерен резултат от приложението за страница за вход
При стартиране на програмата и въвеждане на валидни идентификационни данни, програмата показва поле със съобщение, че потребителят може да влезе успешно.
При стартиране на програмата с други идентификационни данни, полето за съобщения показва грешка относно влизането като невалидно.
Подобряване на страница за влизане в Python
Можете да използвате база данни като MySql, за да извлечете записите и да ги потвърдите спрямо потребителските идентификационни данни. The mysql.connector библиотека ви помага да установите връзка между вашето Python Tkinter приложение и MySql база данни.
За подобрен потребителски интерфейс можете да разгледате customtkinter модул. Той е изцяло изграден върху модула Tkinter и ви помага да създавате модерни напълно адаптивни джаджи, които не са налични като част от стандартната библиотека на Tkinter. Комбинирането на тези две библиотеки ще разшири вашите умения за програмиране на GUI и ще се превърне в стъпало в създаването на по-сложни приложения.