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

Что такое Tkinter?

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

Щелкните эту ссылку, чтобы просмотреть документацию по библиотеке Tkinter. Вы сможете найти его функции, методы, примеры и другую полезную информацию.



tkinter — интерфейс Python для Tcl/Tk — документация по Python 3.10.6
Исходный код: Lib/tkinter/__init__.py Пакет («интерфейс Tk
) является стандартным Интерфейс Python для графического интерфейса Tcl/Tk…docs.python.org»



Пришло время создать собственную систему входа в систему!

Сначала мы должны открыть CMD и ввести следующую команду: «pip install tk». После установки откройте IDE, чтобы запустить программу Python. В моем примере я буду использовать Jupyter Notebook.

Вы можете загрузить файл Python из моей учетной записи GitHub.



Чтобы упростить задачу, я скопировал и вставил всю программу и добавил номера строк, я объясню номера строк.

В строках 1 и 2 мы импортировали библиотеку tkinter и messagebox (будет использоваться для возврата сообщений об ошибках/уведомлений).

Строка 4, мы создали наше корневое окно, это главное приложение, и мы настроили его свойства от строки 74 до 78.

Строки с 8 по 48 — это функция, которая будет вызываться, когда пользователь нажимает кнопку, и эта кнопка была добавлена ​​в строку 70. Мы создали свойства приложений с графическим интерфейсом из строки с 50 по 71. Мы использовали виджет метки, и этот виджет добавит текст в приложение с графическим интерфейсом. Примером этого в нашей программе является метка «Введите данные для входа». В строке 50 мы использовали «окно» перед вводом текста; это означает, что эта метка, которую мы создаем, будет сохранена в этом окне. Кроме того, в строке 51 мы поместили текстовое поле, обозначающее место, а место является одним из трех менеджеров геометрии в Tkinter (как и где вы будете отображать свои виджеты в своем приложении с графическим интерфейсом).

В строках с 62 по 67 мы использовали виджет Entry, и это добавит текстовое поле в нашу программу, это текстовое поле позволит нам вводить данные. Это будет иметь решающее значение для нашей функции.

В строках с 74 по 78 мы создали атрибуты/свойства окна. мы установили размер приложений с графическим интерфейсом с помощью функции геометрии, мы также использовали функцию изменения размера и установили ее как 0, 0 (высота и длина), что означает, что пользователь не сможет изменить геометрию приложения. Кроме того, мы использовали функцию атрибутов и установили ее как «-topmost, true», это означает, что приложение всегда будет оставаться сверху, оно не будет отставать от других приложений при запуске программы.

В строке 6 мы создали переменную со значением 5 внутри, она будет использоваться для цикла while и для ограничения попыток пользователей (это должно быть вне функции, если она внутри , то после того, как кнопка будет нажата только один раз, функция запустит цикл 5 раз, а затем заблокируется, что означает, что была дана только 1 попытка).

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

В строке 14 мы установили условие, пока переменная попыток меньше 0, запускаем в цикле следующие коды. Мы использовали функцию get () и сказали, что: если введенные данные в виджете Entry равны «Admin», то вернуть окно сообщения о том, что вход в систему выполнен успешно. В противном случае, если имя пользователя или пароль, которые мы собрали с помощью функции get (), не равны «Admin», то верните сообщение об ошибке, в котором говорится, что ошибка входа, неправильное имя пользователя / пароль. Кроме того, мы использовали метку для отображения количества оставшихся попыток: каждый раз, когда пользователь вводит неверное имя пользователя/пароль, инструкция внутри цикла while будет уменьшать переменную попытки на 1.

Кроме того, от строки 38 до строки 46 мы создали еще один оператор if внутри этого цикла while, и этот оператор говорит: если попытка равна 0, то вернуть сообщение об ошибке, в котором говорится, что «слишком много попыток , система заблокирована». Кроме того, когда у пользователя закончатся попытки, этот оператор if отключит поля ввода и кнопки, а затем изменит цвет на красный.

Вот оно!

Простая система входа в систему, которую можно использовать при создании приложений с графическим интерфейсом. Надеюсь, вам понравился мой урок 😁🙌