Я новичок в GUI и просто изучаю, как использовать Tkinter. Я написал программу python, чтобы поместить учеников в мой класс в пары для моих диаграмм сидения. Сама программа работает нормально; проблема заключается в tkinter gui. Я пытался заставить кнопку генерировать и отображать новый набор пар каждый раз. Вместо этого GUI будет отображать первый набор пар, как только я его открываю, даже не нажимая кнопку. Кнопка ничего не делает. Если я запускаю его в консоли, я не получаю никаких сообщений об ошибках или ничего напечатанных на консоли.кнопка не будет повторять команды tkinter
В Button commands in Tkinter Я видел ответ, чтобы использовать лямбда. Когда я попробую, ярлык изначально будет пустым. Он отображает пары, когда кнопка будет нажата в первый раз, как и ожидалось, но при последующих нажатиях она просто делает ярлык пустой.
Я не уверен, в чем проблема. Вы можете мне помочь? Вот код:
from Tkinter import *
from SeatingChart import *
root = Tk()
class App:
def __init__(self, master):
self.win = Frame(master)
self.win.pack()
self.d = Label(self.win, text = "", width=140)
self.d.pack()
self.b = Button(self.win, text="Pair Up!", command=self.display_pairs(roster))
self.b.pack()
def display_pairs(self, l):
self.d.config(text=pair(roster))
app = App(root)
mainloop()
Спасибо. Я пробовал это, но тогда я получаю это: ТипError: display_pairs() принимает ровно 2 аргумента (1 данный) –
Вы изменили метод display_pairs, как я показал? Я удалил параметр 'l', поскольку он не используется. –
Теперь у меня есть. Это делает то же самое, что и при попытке использовать лямбда: сначала будет отображаться результат, а затем пустым при последующих нажатиях кнопок. –