tkinter button



Button tkinter

Автор Александр Зверев задал вопрос в разделе Python

Помогите с присваиванием функции кнопке tkinter и получил лучший ответ

Ответ от Капитан Гугл[гуру]
Потому что command принимает параметром функцию без параметра. Где-то внутри класса Tkinter.Button есть код вроде (я крайне упрощаю):
if нажали кнопку:
__command() # <-вот вызов
Если нужно передать параметр, то Button об этом никак не знает и не передаст его. Поэтому для передачи параметров приходится делать обертку функции без параметров, например
def func(param): ...# реальная функция с параметрами
def func_for_button: #а это обертка реальной функции, которая вызывает ее с заранее определенными параметрами
__func(param)
...
butt = Tkinter.Button(command=func_for_button)#теперь будет вызвана func_for_button, которая вызовет настоящий func с необходимым параметром
Ну а лябмда - это простой способ объявить однострочную функцию и передать в нее параметр без глобальной переменной.

Ответ от Игорь Иванов[гуру]
млжно и без лямбдыfrom Tkinter import *def callback(): print "clicked!"b = Button(text="click me", command=callback)b.pack()mainloop()

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Помогите с присваиванием функции кнопке tkinter

как поставить изображение на главное окно в Tkinter?
#есть такой пример в инете

import Tkinter as tk
from PIL import ImageTk, Imageподробнее...
спросили в Катовице
Город металлургический центр Польши?
Катовице

sergei khitushko
Просветленный
(35789)
Проезжал через
подробнее...

Как делать фоновое изображение по центру?
самый простой:
<center>
< body background="ИМЯ. jpg" >
</center>
подробнее...

Как сделать так когда пишешь код в питоне приведённый ниже. Он выводится на python shell.
Когда задаете вопрос, хотя бы уточнйте, что речь идет о Tkinter. Иначе черт ногу сломит.
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:

Здравствуйте! Хочу открыть бизнес "батутный центр" как на фото!
Врядли это окупится. Подумай сам, какую придется заломить цену за прыжки на батуте, чтобы заплатить
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*