=====Добавление виджета Button===== Начнем с добавления кнопки в окно.(комманда pack) \\ \\ \\ \\ \\ from tkinter import * root = Tk() root.geometry('300x300') btn = Button(root, text="кнопка", command=clicked, width=20, font='Arial 12 italic') btn.pack() root.mainloop() {{ :python:оконное_приложение:tkinter:but1.png?300 |}} Кнопка создается и добавляется в окно так же, как и метка (комманда grid): from tkinter import * window = Tk() window.title("Добро пожаловать в приложение PythonRu") window.geometry('400x250') lbl = Label(window, text="Привет", font=("Arial Bold", 50)) lbl.grid(column=0, row=0) btn = Button(window, text="Не нажимать!") btn.grid(column=1, row=0) window.mainloop() Результат будет следующим: {{ :python:оконное_приложение:tkinter:uroki-po-tkinter-4.png?300 |}} Обратите внимание, что мы помещаем кнопку во второй столбец окна, что равно 1. Если вы забудете и поместите кнопку в том же столбце, который равен 0, он покажет только кнопку. ====Изменение цвета текста и фона у Button===== Вы можете поменять цвет текста кнопки или любого другого виджета, используя свойство **fg**. Кроме того, вы можете поменять цвет фона любого виджета, используя свойство **bg**. btn = Button(window, text="Не нажимать!", bg="black", fg="red") {{ :python:оконное_приложение:tkinter:uroki-po-tkinter-5.png?300 |}} Теперь, если вы попытаетесь щелкнуть по кнопке, ничего не произойдет, потому что событие нажатия кнопки еще не написано. ====Кнопка Click==== Для начала, мы запишем функцию, которую нужно выполнить при нажатии кнопки: def clicked(): lbl.configure(text="Я же просил...") Затем мы подключим ее с помощью кнопки, указав следующую ​​функцию: btn = Button(window, text="Не нажимать!", command=clicked) **Обратите внимание:** мы пишем clicked, а не clicked()с круглыми скобками. Теперь полный код будет выглядеть так: from tkinter import * def clicked(): lbl.configure(text="Я же просил...") window = Tk() window.title("Добро пожаловать в приложение PythonRu") window.geometry('400x250') lbl = Label(window, text="Привет", font=("Arial Bold", 50)) lbl.grid(column=0, row=0) btn = Button(window, text="Не нажимать!", command=clicked) btn.grid(column=1, row=0) window.mainloop() При нажатии на кнопку, результат, как и ожидалось, будет выглядеть следующим образом: {{ :python:оконное_приложение:tkinter:uroki-po-tkinter-6.png?300 |}} ===ПРИМЕРЫ=== счетчик кликов: from tkinter import * count = 0 def getCount(): global count count +=1 root.title(f'клик: {count}') root = Tk() root.geometry('300x300') btn_time = Button(root, text='check', command=getCount) btn_time.pack() Изменение времени: from tkinter import * import time def getDate(): btn_time['text'] = time.strftime('%H:%M:%S'); root = Tk() count = 1 root.title('клик'+ str(count)) root.geometry('300x300') btn_time = Button(root, text='check', command=getDate) btn_time.pack() root.mainloop() ====Параметры==== ^Sr.No.^Метод и описание| |1|**activebackground** \\ Цвет фона, когда кнопка находится под курсором.| |2|**activeforeground** \\ Цвет переднего плана, когда кнопка находится под курсором.| |3|**bd** \\ Ширина границы в пикселях. По умолчанию 2.| |4|**bg** \\ Нормальный цвет фона.| |5|**command** \\ Функция или метод, вызываемый при нажатии кнопки.| |6|**fg** \\ Нормальный цвет переднего плана (текста).| |7|**font** \\ Шрифт текста, который будет использоваться для метки кнопки.| |8|**height** \\ Высота кнопки в текстовых строках (для текстовых кнопок) или в пикселях (для изображений).| |9|**highlightcolor** \\ Цвет выделения фокуса, когда виджет имеет фокус.| |10|**image** \\ Изображение для отображения на кнопке (вместо текста).| |11|**justify** \\Как показать несколько строк текста: **left**, чтобы выровнять по левому краю каждую строку; **center**, чтобы центрировать их; или **right**.| |12|**padx** \\ Additional padding left and right of the text.| |13|**pady** \\ Дополнительные отступы слева и справа от текста.| |14|**relief** \\ Рельеф указывает тип границы. Некоторые значения SUNKEN, RAISED, GROOVE, и RIDGE.| |15|**state** \\ Установите эту опцию на DISABLED чтобы затенить кнопку и сделать ее неактивной. Имеет значение ACTIVE, когда мышь находится над ним. По умолчанию NORMAL.| |16|**underline** \\ Default is -1, Это означает, что ни один символ текста на кнопке не будет подчеркнут. Если неотрицательный, соответствующий текстовый символ будет подчеркнут.| |17|**width** \\ Ширина кнопки в letters(при отображении текста) или в пикселях (при отображении изображения).| |18|**wraplength** \\ Если для этого значения задано положительное число, строки текста будут перенесены в соответствии с этой длиной.| ====Методы==== Ниже приведены часто используемые методы для этого виджета - ^Sr.No.^Метод и описание| |1|**flash()**\\ Заставляет кнопку мигать несколько раз между активными и обычными цветами. Оставляет кнопку в том состоянии, в котором она была изначально. Игнорируется, если кнопка отключена.| |2|**invoke()** \\ Вызывает обратный вызов кнопки и возвращает то, что возвращает эта функция. Не действует, если кнопка отключена или обратного вызова нет.|