[英]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.