我知道有一个类似的问题,但我想知道如何在没有任何全局代码的情况下这样做。 我想在按下按钮时弹出一个新条目(以及旁边的标签)。
class Options(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
def add(self):
new_entry = Entry(self)
new_entry.grid()
def main():
t = Tk()
frame = Options(t)
frame.pack()
b0 = Button(frame, text ="Add entry", command = frame.add())
b0.grid()
答案 0 :(得分:1)
您的代码实际上可以满足您的需求。唯一的问题是您通过添加frame.add
在按钮创建行中调用()
函数而不是将其作为命令传递。删除那些括号,你就可以了。
b0 = Button(frame, text ="Add entry", command = frame.add) #no parenthesis here
如果您想要弹出窗口,则需要创建Toplevel
并将所需内容放入其中。(Entry
和Label
适用于您的情况)
def add(self):
self.top = Toplevel(self)
new_entry = Entry(self.top)
new_entry.grid()