Я пытаюсь создать кнопку «Добавить», которая добавляет новое поле ввода и метку при нажатии. Это возможно с Tkinter?
До сих пор я пытался создать список, который просто содержит строки, чтобы я мог использовать их в качестве имен переменных. Затем я просто планирую увеличивать переменную num, чтобы она переходила к новому индексу списка при следующем нажатии кнопки. Вот мой код:
segNums = ['meeting2','meeting3','meeting4','meeting5','meeting6','meeting7','meeting8','meeting9','meeting10']
num = 1
class meetingGUI:
def __init__(self):
self.main_window = tkinter.Tk()
self.main_window.title('Meeting Mailer')
self.meeting_frame = tkinter.Frame(self.main_window)
self.button_frame = tkinter.Frame(self.main_window)
self.meeting_label = tkinter.Label(self.meeting_frame, text='Meeting Segment:')
self.meeting_entry = tkinter.Entry(self.meeting_frame, width=30)
self.meeting_label.pack(side='left')
self.meeting_entry.pack(side='left')
self.add_button = tkinter.Button(self.button_frame, text='Add Segment', command=self.add_seg)
self.quit_button = tkinter.Button(self.button_frame, text='Quit', command=self.main_window.destroy)
self.add_button.pack(side='left')
self.quit_button.pack(side='left')
self.meeting_frame.pack()
self.button_frame.pack()
tkinter.mainloop()
def add_seg(self):
self.segNums[num]_frame = tkinter.Frame(self.main_window)
self.meeting_label = tkinter.Label(self.segNums[num]_frame, text='Meeting Segment:')
self.segNums[num]_entry = tkinter.Entry(self.segNums[num]_frame, width=30)
self.meeting_label.pack(side='left')
self.segNums[num]_entry.pack(side='left')
self.segNums[num]_frame.pack()
num = num + 1
meeting_GUI = meetingGUI()
Проблема в том, что я получаю неверную синтаксическую ошибку при попытке запустить код. Он выделяет первый '_Frame' в функции add_seg, которая находится сразу после первых segNums [num]. Это возможно даже с Tkinter?