Python tkinter add new field by a button Python tkinter add new field by a button tkinter tkinter

Python tkinter add new field by a button


So this is my solution:

import tkinter as tkfrom tkinter import ttkclass dictionary(tk.Frame):    def __init__(self, master=None):        tk.Frame.__init__(self, master)        self.fields = []        self.createWidgets()        self.grid(column=0, sticky="NEWS")    def createWidgets(self):                self.add_field()        self.add_lang = ttk.Button(self, text="add language", command=self.add_field)        self.add_lang.bind("<Return>", self.add_field)        self.add_lang.grid(row=len(self.fields), column=3, padx=4, pady=6, sticky="W")    def add_field(self):        self.fields.append({})        n = len(self.fields)-1        self.fields[n]['var'] = tk.StringVar(self)        self.fields[n]['field'] = ttk.Entry(self, textvariable=self.fields[n]['var'])        self.fields[n]['field'].grid(row=n, column=0, columnspan=2, padx=4, pady=6, sticky="NEWS")        if n:            self.add_lang.grid(row=n + 1, column=3, padx=4, pady=6, sticky="W")if __name__ == '__main__':    root = tk.Tk()    app = dictionary(master=root)    app.mainloop()

I hope this is what you wanted.