Можно ли сделать так, чтобы цикл for не изменял переменную и все же имел те же результаты? - PullRequest
0 голосов
/ 30 апреля 2018

Хорошо, поэтому я пытаюсь создать графический интерфейс для базы данных, в которой хранятся имена и конкретная информация о человеке. Сейчас я как раз в конце этого проекта, и я столкнулся с проблемой, которую, я считаю, можно решить. У меня есть цикл for, который изменяет переменную (Label) и .packs эту переменную в GUI, все это прекрасно до тех пор, пока мне не потребуется удалить эту переменную (Label), так как она становится последней, как это для петля, есть идеи?

def read_from_database():
    global label4
    global But2
    global Counter
    global e4
    global Namelist
    if(Counter == 0):
        Counter += 1
        But4.config(relief=SUNKEN)
        But5.config(relief=SUNKEN)
        But6.config(relief=SUNKEN)
        sql = ("SELECT * FROM nameinfo")
        for row in c.execute(sql): # Here is the for loop
            Namelist = Label(root, text=row[0])
            Namelist.pack()
        label4 = Label(root, text="Name:")
        label4.pack(side=LEFT)
        e4 = Entry(root)
        e4.pack(side=LEFT)
        But2.pack()

def submit(): # submit your results
    global Readinfo
    name = (e4.get())

    label4.destroy()
    But2.pack_forget()
    e4.destroy()
    sql = ("SELECT * FROM nameinfo")
    for sql1 in c.execute(sql):
        Namelist.pack_forget()


    sql = "SELECT * FROM nameinfo WHERE name = ?"
    for row in c.execute(sql, (name, )):
        NAME = ('Name: ' + row[0])
        AGE = (', Age: ' + str(row[1]))
        COLOR = (', Favorite color: ' + row[2])
        Readinfo = Label(root, text=NAME + AGE + COLOR, bg='black', 
    fg='white')
        Readinfo.pack()

    Clear.pack(padx=8, pady=5)

def clear(): # How I later clear the results
    global Counter
    Counter += -1
    try:
        Readinfo
    except NameError:
        pass
    else:
        Readinfo.pack_forget()
Clear.pack_forget()
But4.config(relief=RAISED)
But5.config(relief=RAISED)
But6.config(relief=RAISED)

Clear = Button(root, text='Clear', fg='black', bg='green', command=clear)
But2 = Button(root, text='Submit', bg='white', fg='blue', command=submit)

Хорошо, это весь код, который включен в мой раздел чтения. Я знаю, что это очень небрежно, и некоторые части могут не понадобиться или что-то еще. Я буду советовать в будущем программировании и, вероятно, этот тоже, я очень новый и приму предложения:).

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