Python Lessons / tkinter Module: Creating a Button and Calling a Function

Posted by


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

Шаг 1: Установка tkinter
Если вы используете Python 3, то tkinter уже установлен вместе с Python. Если вы используете Python 2, вам нужно установить tkinter отдельно. Для этого просто введите в командной строке следующую команду:

sudo apt-get install python3-tk

Шаг 2: Создание окна
Сначала нам нужно создать главное окно программы. Для этого мы создадим объект класса Tk() из модуля tkinter:

from tkinter import *

root = Tk()
root.title("Моя программа")
root.geometry("300x200")

Шаг 3: Создание кнопки
Теперь мы создадим кнопку с помощью метода Button() класса Tk():

button = Button(root, text="Нажми меня", command=my_function)
button.pack()

В этом коде мы создаем кнопку с надписью "Нажми меня" и привязываем к ней функцию my_function (она пока не определена). Мы также используем метод pack() для размещения кнопки на главном окне.

Шаг 4: Определение функции
Теперь нам нужно определить функцию, которая будет вызываться при нажатии на кнопку. Добавьте следующий код в ваш скрипт:

def my_function():
    print("Кнопка была нажата!")

Шаг 5: Запуск программы
Наконец, запустите программу, вызвав метод mainloop() объекта Tk:

root.mainloop()

Теперь у вас должно появиться окно с кнопкой, при нажатии на которую будет выводиться сообщение "Кнопка была нажата!" в консоль.

Это был простой пример создания кнопки с использованием модуля tkinter в Python и вызова функции при нажатии на нее. Вы можете дополнить программу добавлением других элементов интерфейса, изменением дизайна кнопки или функции, которая будет вызываться. Удачи в изучении Python и tkinter!

0 0 votes
Article Rating

Leave a Reply

45 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@wiseplat
27 days ago

►► Все уроки по Python https://www.youtube.com/playlist?list=PLxiU3nwEQ4PHtLT8LzGAdcuzE-laotXps
Пишите, что вы делали на tkinter.

@Duolin1
27 days ago

Не получилось вот код:
tk = Tk()
b1 = Button(tk, text="Клик", command=button_press)
b1.pack()
def button_press():
money = m

@anime-video434
27 days ago

Вы у меня 2 года назад учителем информатики были! Я даже не знал, что у вас ютуб канал есть! 😮

@еленаключко-ф5я
27 days ago

Привет, ВШПИТ

@no-name828
27 days ago

Импорт с * признак дурного тона

@CVD-ip4yh
27 days ago

Показывает что нету ошибок но не запускается

@KIRYA__AA
27 days ago

Почему вы не показали как вывести в таблички *?

@mederusupbekov9451
27 days ago

Спасибо вы спасительный круг

@Sovereign_of_World
27 days ago

столько ляпов

@Vasya_Pampkin
27 days ago

Балиииин. Я столько времени угрохал на отладку приложения. При запуске все прописанные кнопки запускали функции, т.е. срабатывали при запуске, а потом хоть ты обжимайся не реагировали. Дело оказалось в скобках. Не надо в опции "command" прописывать функцию со скобками.
Так, есть момент. А если необходимо запустить функцию передав ей параметры, то как тогда быть?

@mrjeep2107
27 days ago

Как написать если с телкфона и я не могу написать tkinter import

@amvladimir3866
27 days ago

единственно все верно и правильно и сразу заработало.молодец.

@deeffest-hz
27 days ago

а что делать если кнопку за картинкой не видно? когда убираю картинку (полностью стираю в коде) то кнопка видна. как ее на первый план поставить а за нее уже и картинку?

@ВаняИванов-ф1г
27 days ago

command=lambda:function(self) правильнее

@meteor5567
27 days ago

Кратко, без воды и в удобном для понимания темпе. Видео безупречное!

@lego5991
27 days ago

from tkinter import *

import time

r=Tk()

c=Canvas(width=2000,height=950)

c.pack()

cube = c.create_rectangle(0,0,50,50,fill='green')

def btn_click():

for i in range(10):

c.move (cube,10,0)

r.update()

time.sleep(0.005)

def btn_clik():

for i in range(10):

c.move (cube,-10,0)

r.update()

time.sleep(0.005)

def btn_clikk():

for i in range(10):

c.move (cube,0,10)

r.update()

time.sleep(0.005)

def btn_clikkk():

for i in range(10):

c.move (cube,0,-10)

r.update()

time.sleep(0.005)

f=Frame(r)

f.place()

btn=Button (text='d',bg='gray', padx=10, pady=10,command = btn_click)

btn.pack(side=RIGHT)

k=Button (text='a',bg='gray', padx=10, pady=10,command=btn_clik)

k.pack(side=LEFT)

g=Button (text='s',bg='gray', padx=10, pady=10,command=btn_clikk)

g.pack(side=BOTTOM)

h=Button (text='w',bg='gray', padx=10, pady=10,command=btn_clikkk)

h.pack(side=TOP)

r.title('игра')

r.mainloop()

@kaysakakaysaka918
27 days ago

Хорошие уроки так держать, вы бы не смогли показать как выводить команды в графическое окно tkinter?

@v1xohay
27 days ago

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

@ГурамРусия
27 days ago

Приветствую.
Может подскажете, как справится с такой проблемой: запускаю на сервере с CentOS 7 скрипт, использующий ткинтер. Но в ответ получаю ошибку, типа отсутствует подключение к дисплею.
Как можно решить эту проблему? Спасибо.

@banananana54
27 days ago

Спасибо, кстати по мимо вас хорошо снимает еще и Иван Викторович, так можете и набрать в ютубе.

45
0
Would love your thoughts, please comment.x
()
x