Кажется, вы думаете, что все ваши вызовы функций являются частью lambda
, а они - нет. В настоящее время только controller.showframe(Moderator),
есть. Если вы хотите запустить несколько функций из вашего lambda
, поместите их в список вроде:
subbutton.bind('<Button-1>', lambda e: [controller.showframe(Moderator),
teacher_input(name.get(), idd.get(), username.get(), pas.get()),
MakeQuestion.qcurrent_user(username.get()),
ExaminPaper.ecurrent_user(username.get())] )
Однако, добавление многих функций в один вызов lambda
делает ваш код довольно сложным для понимания и отладки. Возможно, вам лучше создать дополнительную функцию для привязки к кнопке и вызова дополнительных функций оттуда. Вам также не нужно использовать bind
, поскольку у кнопки tkinter есть опция command
:
def buttonClick():
controller.showframe(Moderator)
teacher_input(name.get(), idd.get(), username.get(), pas.get())
MakeQuestion.qcurrent_user(username.get())
ExaminPaper.ecurrent_user(username.get())
subbutton = Button(self, text='Submit', width=10, command=buttonClick)
subbutton.grid(row=10, column=0, sticky='w')