这个问题在这里已有答案:
我是GUI的新手,只是学习如何使用Tkinter . 我写了一个python程序,让我的 class 的学生成对我的座位表 . 该计划本身运行良好;问题是tkinter gui . 我试图让按钮生成并每次显示一组新的对 . 相反,只要我打开它,GUI就会显示第一组对,甚至没有按下按钮 . 按钮什么都不做 . 如果我在控制台中运行它,我不会收到任何错误消息或打印到控制台的任何内容 .
在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()
1 回答
创建按钮时,您提供的
command
是display_pairs
方法的结果(因为它不是return
,所以是None
),而不是对方法的引用 .尝试: