Найти в Дзене

Tkinter, Python. Как нажать на кнопку в приложении с помощью клавиш клавиатуры

Поставлена задача: нажатие на клавишу Enter должно нажимать на кнопку Пуск в приложении (Tkinter, Python). Приступим. Загрузим tkinter: import tkinter as tk Создадим окно графического интерфейса (приложения): window = tk.Tk() И присвоим ему имя, например, 'Моя программа' window.title('Моя программа') Не забываем "обернуть" название программы в кавычки 'название' или "название". Создаем кнопку "Пуск" btn = tk.Button(text='Пуск') btn.pack() И последний штрих, запуск нашей программы с помощью команды mainloop window.mainloop() Полностью код выглядит так: После запуска нашего приложения мы увидим: Вот только при нажатии на кнопку Пуск ничего не происходит... Исправим это. Чтобы Пуск что-то запускал это 'что-то' надо прописать. Пусть при нажатии на кнопку Пуск программа выдаст нам 'Привет'. Давайте внесем некоторые изменения в нашу программу, а именно: 1. Добавим 'этикетку' куда будет выводиться текст. 2. Создадим функцию, которая будет выводить текст. 3. Привяжем функцию к нашей кнопке 'Пу

Поставлена задача: нажатие на клавишу Enter должно нажимать на кнопку Пуск в приложении (Tkinter, Python).

Приступим.

Загрузим tkinter:

import tkinter as tk

Создадим окно графического интерфейса (приложения):

window = tk.Tk()

И присвоим ему имя, например, 'Моя программа'

window.title('Моя программа')

Не забываем "обернуть" название программы в кавычки 'название' или "название".

Создаем кнопку "Пуск"

btn = tk.Button(text='Пуск')

btn.pack()

И последний штрих, запуск нашей программы с помощью команды mainloop

window.mainloop()

Полностью код выглядит так:

-2

После запуска нашего приложения мы увидим:

-3

Вот только при нажатии на кнопку Пуск ничего не происходит... Исправим это.

Чтобы Пуск что-то запускал это 'что-то' надо прописать.

Пусть при нажатии на кнопку Пуск программа выдаст нам 'Привет'.

Давайте внесем некоторые изменения в нашу программу, а именно:

1. Добавим 'этикетку' куда будет выводиться текст.

2. Создадим функцию, которая будет выводить текст.

3. Привяжем функцию к нашей кнопке 'Пуск'

Создаем этикетку

lbl = tk.Label(text="")

lbl.pack()

Теперь функция

def privet():

lbl['text'] = ('Привет')

Чтобы кнопка Пуск запускала функцию надо дополнить код командой command=privet

btn = tk.Button(text='Пуск', command=privet

Теперь код программы выглядит так:

-4

Теперь при нажатии на кнопку 'Пуск' левой клавишей мыши мы увидим надпись 'Привет' под кнопкой 'Пуск'.

Но при нажатии Enter на клавиатуре ничего не происходит.

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

Чтобы программа реагировала на клавиши клавиатуры надо добавить 'событие' и функцию.

Напишем функцию:

def pressbutton():

privet()

-5

А теперь создадим событие:

window.bind('<Return>', pressbutton)

где '<Return>' это клавиша Enter, а pressbutton это обращение к нашей функции pressbutton()

Полный код программы:

-6

Проверка показала, что поставленная задача решена и наша программа реагирует на Enter так, как и задумывалось.

Следует отметить, что Enter будет запускать только ОДНУ функцию-кнопку. Для других кнопок программы придется использовать другие клавиши клавиатуры, но...

Клавишу Enter можно повторно использовать в других окнах программы!

Я не программер, я только учусь!

Здесь описываю те вопросы по python, которые вызвали у меня сложности в понимании и, на которые затратил много времени для поиска решения в интернете.