繁体   English   中英

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

[英]Python - Adding new entry box when button is pressed (Tkinter) W/O global code

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM