Содержание

Добавление виджета 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()

Кнопка создается и добавляется в окно так же, как и метка (комманда 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()

Результат будет следующим:

Обратите внимание, что мы помещаем кнопку во второй столбец окна, что равно 1. Если вы забудете и поместите кнопку в том же столбце, который равен 0, он покажет только кнопку.

Изменение цвета текста и фона у Button

Вы можете поменять цвет текста кнопки или любого другого виджета, используя свойство fg. Кроме того, вы можете поменять цвет фона любого виджета, используя свойство bg.

btn = Button(window, text="Не нажимать!", bg="black", fg="red")

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

Кнопка 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()

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

ПРИМЕРЫ

счетчик кликов:

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.Метод и описание
1activebackground
Цвет фона, когда кнопка находится под курсором.
2activeforeground
Цвет переднего плана, когда кнопка находится под курсором.
3bd
Ширина границы в пикселях. По умолчанию 2.
4bg
Нормальный цвет фона.
5command
Функция или метод, вызываемый при нажатии кнопки.
6fg
Нормальный цвет переднего плана (текста).
7font
Шрифт текста, который будет использоваться для метки кнопки.
8height
Высота кнопки в текстовых строках (для текстовых кнопок) или в пикселях (для изображений).
9highlightcolor
Цвет выделения фокуса, когда виджет имеет фокус.
10image
Изображение для отображения на кнопке (вместо текста).
11justify \\Как показать несколько строк текста: left, чтобы выровнять по левому краю каждую строку; center, чтобы центрировать их; или right.
12padx
Additional padding left and right of the text.
13pady
Дополнительные отступы слева и справа от текста.
14relief
Рельеф указывает тип границы. Некоторые значения SUNKEN, RAISED, GROOVE, и RIDGE.
15state
Установите эту опцию на DISABLED чтобы затенить кнопку и сделать ее неактивной. Имеет значение ACTIVE, когда мышь находится над ним. По умолчанию NORMAL.
16underline
Default is -1, Это означает, что ни один символ текста на кнопке не будет подчеркнут. Если неотрицательный, соответствующий текстовый символ будет подчеркнут.
17width
Ширина кнопки в letters(при отображении текста) или в пикселях (при отображении изображения).
18wraplength
Если для этого значения задано положительное число, строки текста будут перенесены в соответствии с этой длиной.

Методы

Ниже приведены часто используемые методы для этого виджета -

Sr.No.Метод и описание
1flash()
Заставляет кнопку мигать несколько раз между активными и обычными цветами. Оставляет кнопку в том состоянии, в котором она была изначально. Игнорируется, если кнопка отключена.
2invoke()
Вызывает обратный вызов кнопки и возвращает то, что возвращает эта функция. Не действует, если кнопка отключена или обратного вызова нет.