Простую страницу входа легко создать, и это отличное место для начала создания вашего веб-сайта или приложения.

В Интернете существует более миллиарда веб-сайтов. Для обеспечения безопасности учетных записей пользователей во многих веб-приложениях — от онлайн-банкинга до социальных сетей — требуется страница входа.

Узнайте, как создать простую страницу входа с помощью модуля Tkinter, и ознакомьтесь с основными концепциями создания приложений с графическим интерфейсом на Python.

Модуль Ткинтера

Вы можете использовать Tkinter для создания страницы входа, которая принимает и проверяет имя пользователя и пароль. Tkinter предлагает множество виджетов, таких как кнопки, метки и текстовые поля, которые упрощают разработку приложений. Некоторые приложения, которые вы можете разработать с помощью Tkinter, включают в себя Приложение «Список дел», Музыкальный проигрыватель, а Приложение Pomodoro Timer, и Игра «Словесная мешанина».

Чтобы установить Tkinter, откройте терминал и выполните:

пип установить ткинтер
instagram viewer

Как создать страницу входа с помощью Python

Вы можете найти исходный код для создания страницы входа с помощью Python в этом Репозиторий GitHub.

Импортируйте необходимые библиотеки и инициализируйте корневое окно. Установите заголовок и размер окна. Используя настроить() функция, установите цвет фона.

Импортировать ткинтер
от ткинтер Импортировать окно сообщения
окно = ткинтер. Тк()
окно.название(«Страница входа с использованием Python»)
окно.геометрия("750x550")
window.configure(bg='#8F00FF')

Определите функцию, авторизоваться() который примет ключевое решение на основе учетных данных пользователя. Эта простая демонстрация жестко кодирует действительные учетные данные; реальное приложение, вероятно, извлечет их из базы данных.

Сохраните учетные данные и используйте получать() метод каждого виджета Entry для получения данных, введенных пользователем. В соответствии с проверкой данных отобразите окно сообщения с соответствующим заголовком и сообщением.

дефавторизоваться():
имя пользователя = "использовать"
пароль = "муо"

если username_entry.get()==имя пользователя и password_entry.get()==пароль:
messagebox.showinfo (название="Авторизация успешна!", сообщение =«Вы успешно вошли в систему».)
еще:
messagebox.showerror (название ="Ошибка", сообщение ="Неверный логин.")

Определите кадр Tkinter, который будет выступать в качестве родителя, и задайте ему цвет фона.

кадр = ткинтер. Рамка (бг='#8F00FF')

Определите три метки для входа в систему, имени пользователя и пароля. Передайте родительское окно, в которое вы хотите поместить метки, текст, который он должен отображать, цвет фона, цвет шрифта и стиль шрифта, который он должен иметь.

метка_логина = tkinter. Метка (рамка, текст=«Страница входа с использованием Python», бг='#000000', фг="# DC143C", шрифт=("Ариал", 30))
метка_пользователя = tkinter. Метка (рамка, текст="Имя пользователя", бг='#8F00FF', фг="#ФФФФФФ", шрифт=("Ариал", 16, 'смелый'))
метка_пароля = tkinter. Метка (рамка, текст="Пароль", бг='#8F00FF', фг="#ФФФФФФ", шрифт=("Ариал", 16, 'смелый'))

Определите два виджета ввода для получения данных от пользователя. Установите родительское окно, в которое вы хотите его поместить, а также стили шрифта. Использовать показывать атрибут в виде звездочки, чтобы скрыть пароль, который пользователь вводит на экране.

имя_пользователя = tkinter. Запись (рамка, шрифт=("Ариал", 16))
пароль_ввод = tkinter. Запись (кадр, показать="*", шрифт=("Ариал", 16))

Определите кнопку для входа в систему, которая принимает родительское окно в качестве фрейма, который вы определили ранее, текст, который он должен отображать цвет фона, цвет шрифта, стиль шрифта и команду, которую он должен выполнять, когда щелкнул.

кнопка_логина = tkinter. Кнопка (рамка, текст="Авторизоваться", бг="# DC143C", фг="#ФФФФФФ", шрифт=("Ариал", 16), команда=логин)

Используйте диспетчер сетки, чтобы разместить три метки, две записи и кнопку входа в организованный табличный формат. Метка входа будет действовать как заголовок и занимать оба столбца. Опция sticky указывает, к какому краю ячейки должен прикрепляться виджет. При прохождении его как Новости (северо-восток-запад-юг), программа центрирует текст как по горизонтали, так и по вертикали.

Поместите метки с левой стороны, одну под другой, и повторите то же самое для виджетов ввода с правой стороны. Как и в заголовке, поместите кнопку входа в оба столбца. Дайте соответствующие отступы в направлении Y для всех виджетов.

login_label.grid (строка =0, столбец =0, столбцы=2, липкий ="Новости", пэди =40)
username_label.grid (строка =1, столбец =0)
username_entry.grid (строка =1, столбец =1, пэди =20)
password_label.grid (строка =2, столбец =0)
password_entry.grid (строка =2, столбец =1, пэди =20)
login_button.grid (строка =3, столбец =0, столбцы=2, пэди =30)

Использовать пакет() чтобы организовать все виджеты в блоки и запустить цикл событий Tkinter и прослушивать события, пока вы не закроете окно.

кадр.пак()
окно.mainloop()

Соберите весь код вместе, и ваша страница входа готова к использованию.

Пример вывода приложения страницы входа

При запуске программы и вводе действительных учетных данных программа отображает окно сообщения о том, что пользователь может успешно войти в систему.

При запуске программы с любыми другими учетными данными в окне сообщения отображается ошибка о том, что логин недействителен.

Улучшение страницы входа в Python

Вы можете использовать базу данных, такую ​​как MySql, для извлечения записей и проверки их на соответствие учетным данным пользователя. mysql.connector Библиотека помогает вам установить соединение между вашим приложением Python Tkinter и базой данных MySql.

Для расширенного пользовательского интерфейса вы можете изучить обычай модуль. Он полностью построен на модуле Tkinter и помогает создавать современные полностью настраиваемые виджеты, недоступные в стандартной библиотеке Tkinter. Объединение этих двух библиотек улучшит ваши навыки программирования с графическим интерфейсом и станет отправной точкой для создания более сложных приложений.