Пишем форму авторизации на Python Tkinter
В данной статье мы рассмотрим с Вами как можно быстро создать графическое приложение с использованием библиотеки Python Tkinter. Проектировать мы будем экран авторизации, в который пользователь должен ввести свой логин и пароль. Версия Python, которая используется в коде 3.8. Код с комментариями представлен ниже.
# импортируем библиотеку tkinter всю сразу
from tkinter import *
from tkinter import messagebox
# главное окно приложения
window = Tk()
# заголовок окна
window.title(‘Авторизация’)
# размер окна
window.geometry(‘450×230’)
# можно ли изменять размер окна — нет
window.resizable(False, False)
# кортежи и словари, содержащие настройки шрифтов и отступов
font_header = (‘Arial’, 15)
font_entry = (‘Arial’, 12)
label_font = (‘Arial’, 11)
base_padding =
header_padding =
# обработчик нажатия на клавишу ‘Войти’
def clicked():
# получаем имя пользователя и пароль
username = username_entry.get()
password = password_entry.get()
# выводим в диалоговое окно введенные пользователем данные
messagebox.showinfo(‘Заголовок’, ‘, ‘.format(username=username, password=password))
# заголовок формы: настроены шрифт (font), отцентрирован (justify), добавлены отступы для заголовка
# для всех остальных виджетов настройки делаются также
main_label = Label(window, text=’Авторизация’, font=font_header, justify=CENTER, **header_padding)
# помещаем виджет в окно по принципу один виджет под другим
main_label.pack()
# метка для поля ввода имени
username_label = Label(window, text=’Имя пользователя’, font=label_font , **base_padding)
username_label.pack()
# поле ввода имени
username_entry = Entry(window, bg=’#fff’, fg=’#444′, font=font_entry)
username_entry.pack()
# метка для поля ввода пароля
password_label = Label(window, text=’Пароль’, font=label_font , **base_padding)
password_label.pack()
# поле ввода пароля
password_entry = Entry(window, bg=’#fff’, fg=’#444′, font=font_entry)
password_entry.pack()
# кнопка отправки формы
send_btn = Button(window, text=’Войти’, command=clicked)
send_btn.pack(**base_padding)
# запускаем главный цикл окна
window.mainloop()
Теперь проясню пару моментов в коде:
1) в коде используется вот такая конструкция **header_padding — это операция разложения словаря в составляющие переменные. В нашем примере преобразование будет выглядеть следующим образом: **header_padding = -> header_padding -> padx=10, pady=12. Т.е. в конструктор класса Label, например, фактически будут передаваться правильные параметры. Это сделано для удобства, чтобы несколько раз не писать одни и теже настройки отступов. 2) у виджетов (Label, Button, Entry) — есть несколько менеджеров расположения, которые определяют, как дочерний виджет будет располагаться в родительском окне (контейнере). В примере, был использован метод pack(), который, по умолчанию, располагает виджет один под другим.
Таким образом, мы создали кроссплатформенное графическое приложение на Python — авторизация пользователя, которое может пригодиться на практике, остается добавить логику авторизации в методе clicked.
А для тех кто интересуется языком Python — я записал видеокурс Программированию на Python с Нуля до Гуру, в 5-ом разделе которого Создание программ с GUI подробно описывается все компоненты, необходимые для создания Python приложения c графическим интерфейсом.
Создано 23.02.2021 10:48:35
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
- Кнопка:
Она выглядит вот так: - Текстовая ссылка:
Она выглядит вот так: Как создать свой сайт - BB-код ссылки для форумов (например, можете поставить её в подписи):
Комментарии ( 0 ):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Copyright © 2010-2023 Русаков Михаил Юрьевич. Все права защищены.
Python GUI Login – Graphical Registration And Login System In Python
Welcome to Python GUI Login tutorial. In this tutorial i will teach you to create a Login form where user can register themselves and can login. Registration and Login requires everywhere, either you are filling any form or want to access any application. So in this tutorial we will see how to implement user registration and login in python.
In this, we will create a GUI interface. Python provides Tkinter toolkit to develop GUI applications. In python, you can develop any GUI applications easily. If you have ideas then you can turn your imagination into reality and make many creative things in programming. So without wasting time let’s start our Python GUI Login tutorial. It may be lengthy so guys please keep patience and follow this till the end, and i am pretty sure you will learn much knowledge and also enjoy.
Python GUI Login Tutorial – Getting Started With Tkinter
Creating New Project
Open your IDE and create a new project and then inside this project create a python file. I prefer PyCharm but you can prefer anyone as it doesn’t matters, but if you want to know best python IDEs then refer Best Python IDEs.
Importing Tkinter Module
For importing tkinter just write one line of code.