Найти - Пользователи
Полная версия: tkinter кнопки срабатывают сами
Начало » Python для экспертов » tkinter кнопки срабатывают сами
1
vladikasik

то что в кавычках это я тоже пытался кнопки сделать. короче не так не так кнопки сразу срабатывают и тут же без нажатия выдают тест в терминал

rami
В функции start в строке кода (а так же в трёх следующих за ней):
 plus = Button(root, text='+', command=lambda: self.operation('+'))
нужно добавить lambda, иначе вместо назначения функции кнопке она будет немедленно вызвана.

Код очень жуткий.
vladikasik

а почему работает вот так

from tkinter import*

master=Tk()

def e1_delete():

    e1.delete(first=0,last=1)

e1=Entry(master, width=20)

e1.pack()

B=Button(master, text="Submit", command=e1_delete)

B.pack()

master.mainloop()

rami
Когда вы пишете command = func, вы назначаете функцию func команде, а если написать command = func(), то функция func() будет немедленно вызвана. Лямбда передаёт функцию с параметрами в команду, предотвращая её непосредственный вызов.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB