0
我是新来的图形用户界面,只是学习如何使用Tkinter。我编写了一个python程序,让我的班级学生成为我的座位图对。程序本身运行良好;问题在于tkinter gui。 我试着让按钮生成并且每次都显示一组新的对。相反,只要我打开它,GUI即使不按下按钮也会显示第一组对。该按钮什么都不做。如果我在控制台中运行它,我不会收到任何错误消息或打印到控制台的任何内容。按钮不会重复命令tkinter
在Button commands in Tkinter我看到了使用lambda的答案。当我尝试它时,标签最初是空白的。如预期的那样,当第一次按下按钮时它将显示对,但在随后的按下时,它只会使标签再次变为空白。
我不确定是什么问题。你可以帮我吗?下面是代码:
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()
感谢。我尝试过,但后来我得到这个: TypeError:display_pairs()只需要2个参数(给出1) –
您是否修改了display_pairs方法?我没有使用'l'参数,因为它没有被使用。 –
现在我有。它和我在尝试lambda时做的事情是一样的:它会初始显示一个结果,然后在随后按下按钮时变为空白。 –