Найти в Дзене
Алексей Рожнов

Програмирование на python.

Итак, как я и обещал, в этой статье я продолжу объяснять и разбирать модуль для графического интерфейса tkinter. В прошлой статье, кто не видел - https://dzen.ru/media/id/60b92b543adb654fa529f096/631e00fe203515426aeab131 я объяснил некоторые основы модуля tkinter. Сегодня же я расскажу о виджетах программы. Что такое виджеты в python? Это кнопки, тексты, картинки и т.д. В общем, это весь графический интерфейс. Ну, давайте начнём. Первое, с чем я Вас хочу познакомить - кнопки. В программе к ним можно прикреплять различные команды для выполнения необходимых действий. Будь то вывод текста в программе, или консоли. Вот код для создания кнопки в программе: b1 = Button(root, text='Ваш текст') b1.pack() Данным отрывком кода мы создали и вывели кнопку в программу. Давайте разберём код. Первым делом идёт название самой кнопки, которое может быть абсолютно любым. Далее мы ставим равно(=) и обращаясь в модулю tkinter пишем так скажем название виджета, ведь Button - перевод - кнопка. После вс

Итак, как я и обещал, в этой статье я продолжу объяснять и разбирать модуль для графического интерфейса tkinter.

В прошлой статье, кто не видел - https://dzen.ru/media/id/60b92b543adb654fa529f096/631e00fe203515426aeab131 я объяснил некоторые основы модуля tkinter. Сегодня же я расскажу о виджетах программы.

Что такое виджеты в python? Это кнопки, тексты, картинки и т.д. В общем, это весь графический интерфейс.

Ну, давайте начнём.

Первое, с чем я Вас хочу познакомить - кнопки.

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

Вот код для создания кнопки в программе:

b1 = Button(root, text='Ваш текст')

b1.pack()

Данным отрывком кода мы создали и вывели

кнопку в программу.

Давайте разберём код.

Первым делом идёт название самой кнопки, которое может быть абсолютно любым.

Далее мы ставим равно(=) и обращаясь в модулю tkinter пишем так скажем название виджета, ведь Button - перевод - кнопка.

После всего этого, открыв скобки, мы прописываем аргументы для кнопки.

Первым ОБЯЗАТЕЛЬНО идёт название окна, в которое и будет выводиться кнопка. После чего идёт текст кнопки, русскую часть которого мы указываем с кавычках.

Также, для кнопки можно или даже нужно добавить в аргументы слово command - что является командой или действием, которое будет выполнять кнопка. В конце статьи и напишу код, который в консоли будет симулировать взлом сервера какой - нибудь компании.

Теперь поговорим про вывод кнопки в программу.

Для этого, на следующей строке или после закрывающейся скобки мы ставим точку и указываем что-либо из перечисленных вариантов:

pack() - размещает объект ровно по центру

place(x=?, y=?) - размещает объект по заданным координатам

grid(x=?, y=?) - тоже самое что и place

Причём, если Вы хотите указать команду вывода отдельной строчкой, то перед методом вывода (pack, place, grid) необходимо написать название виджета (которые мы пишем в самом начале), поставить точку и только после этого указывать метод вывода.

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

Для этого можно использовать def.

Вот как это выглядит:

def Click1():

print('Ваш текст')

b1 = Button(root, text='Ваш текст', command = Click)

b1.pack()

Разбор:

Первым делом мы пишем def - название метода.

Дальше следует название самой команды. Оно может быть абсолютно любым.

После, вы ставим две скобки и ОБЯЗАТЕЛЬНО ставим :. Оно обозначает то, что последующие строки кода будут принадлежать в нашей команде. (они будут выделяться 4 пробелами)

Дальше просто следует выполняемая команда

Теперь вернёмся к аргументам кнопки.

command - команда модуля tkinter, которая обозначает команду. И поставив равно мы указываем заранее созданную нами команду.

Причём необходимо чтобы функция def была ВЫШЕ кнопки. Иначе Python просто не будет знать о её существовании.

Дальше следует виждет Label. - Это простой текст.

Тут всё как и с кнопкой

l1 = Label(root, text='Ваш текст')

l1.pack()

Причём необходимо, чтобы названия виджетов (Button, Label и другие) начинались с заглавной буквы(иначе будет выдавать ошибку)

Идём дальше.
Последний виджет на сегодня - Entry

Это обыкновенное поле ввода.

В его аргументах всё намного проще чем в Label

e1 = Entry(root)

e1.pack()

В аргументах мы просто указываем то окно, в которые будет выводиться нам Entry.

Ну вот и всё. В следующей статье я расскажу о том, как по нажатию кнопки создавать новые окна и ещё много о чём интересном.

Спасибо за прочтение. Ну и как обещал, вот код программы для симуляции взлома сервера)

from tkinter import *

root = Tk()

root.title('Взлом сервера')

root.geometry('1000x5000')

l1 = Label(root, text='В поле нижу введите адрес сервера')

l1.pack()

e1 = Entry(root)

e1.pack()

l2 = Label(root, text=В поле ниже введите код доступа')

l2.pack()

e2 = Entry(root)

e2.pack()

l3 = Label(root, text='код доступа - 9294')

l2.place(x=5000, y=600)

def Click():

a = e2.get()

if a == '9294':

print('Вы успешно вошли в систему')

print('Начался сбор данных')

else:

print('Неверный код доступа')

b1 = Button(root, text='Подключиться', command = Click)

b1.pack()