Все, это первый раз, когда я публикую вопрос в StackOverflow.
Я пишу приложение Tkinter, которое позволяет пользователю вводить информацию о запасах, и окно выглядит так при запуске.
Label1 Label2 Label3
Entry1 Entry2 Entry3
Если вы хотите добавить еще одну запись, вы можетенажмите кнопку, и окно теперь станет таким:
Label1 Label2 Label3
Entry1 Entry2 Entry3
Entry4 Entry5 Entry6
Поскольку я также хотел, чтобы кнопка удаляла строку записи, если она больше не нужна, я использую фрагмент кода из StackOverflow для добавления кадра один за другим.
Вот мой вопрос: после того, как пользователь введет всю необходимую информацию и теперь захочет выполнить расчет, я бы хотел перенести entry1
, entry2
, entry3
... в кадр данных (или dict
, или list
) для хранения.Как я могу сослаться на эти Entry
, по позиции или другим методом?
Следующий код используется для добавления строки (Frame
) или записи при каждом нажатии add add *Кнопка 1021 *:
self.framelist = []
self.framelist.append(Frame(frame))
self.framelist[-1].grid(row=self.i) #-1 is used to refer to the most recent
# element
entry1 = Entry(self.framelist[-1])
entry2 = Entry(self.framelist[-1])
entry3 = Entry(self.framelist[-1])
entry1.grid(row=self.i, column=1) #self.i is just the arbitrary row number
entry2.grid(row=self.i, column=2)
entry3.grid(row=self.i, column=3)
Я вижу, framelist
имеет тип list
и является агрегацией Frame
.Есть ли способ, которым я мог бы ссылаться и отступать значение, например, первая запись второго кадра?