Создайте разные записи каждый цикл Python Tkinter - PullRequest
1 голос
/ 20 марта 2019

Я создал функцию для создания полей ввода (tkinter), но я хочу иметь возможность доступа к данным в полях ввода после. Поэтому я не могу назвать все коробки одним и тем же именем, например Entry1 = Entry (Solo) - у меня должны быть Entry1, Entry2 и т. Д. *

Я думал, что смогу сохранить имена записей в массиве, но это не работает. Я не могу просто сохранить данные в списке, потому что при создании полей ввода еще нет данных для хранения.

[Обновить] Я пытался сохранить поле ввода в списке, но оно не поддерживается. TypeError: 'set' object does not support item assignment

Это фрагмент кода моей программы (код работает без строк с inputlist [i]):

    StudentsArray1 = c.fetchall()
    c.execute('SELECT Count(*) from students WHERE solo = 1;')
    x = c.fetchone()[0]
    a = 0
    rownum = 1

    inputlist = []

    for i in range(0, x):
        label1 = Label(Solo, text=StudentsArray1[a][0], font=font4, bg="white")
        label1.grid(row=rownum, column=1)
        label2 = Label(Solo, text=StudentsArray1[a][1], font=font4, bg="white")
        label2.grid(row=rownum, column=2)
        inputlist[i] = Entry(Solo)
        inputlist[i].grid(row=rownum, column=2)
        rownum = rownum + 1
        a = a + 1
...