簡體   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