[英]How to add a new entry box when clicking a button (Python, Tkinter)
[英]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
,把你想要的东西在里面。( Entry
和Label
对你的情况)
def add(self):
self.top = Toplevel(self)
new_entry = Entry(self.top)
new_entry.grid()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.