Используйте кнопку добавления, чтобы добавить метку и запись, используя Tkinter - PullRequest
0 голосов
/ 04 июля 2019

Я пытаюсь создать кнопку «Добавить», которая добавляет новое поле ввода и метку при нажатии. Это возможно с 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...