Python - 按下按钮时添加新的输入框(Tkinter)没有全局代码



我知道有一个类似的问题,但我想知道如何在没有任何全局代码的情况下做到这一点。我希望在按下按钮时弹出一个新条目(以及旁边的标签)。

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()

你的代码实际上做了你想要的。唯一的问题是您在按钮创建行中通过添加 () 调用 frame.add 函数而不是将其作为命令传递。去掉那些括号,你就没事了。

b0 = Button(frame, text ="Add entry", command = frame.add) #no parenthesis here

如果您想要弹出窗口,则需要创建一个Toplevel并将您想要的内容放入其中。( EntryLabel 适用于您的案件)

def add(self):
    self.top = Toplevel(self)
    new_entry = Entry(self.top)
    new_entry.grid()

相关内容

  • 没有找到相关文章

最新更新