Возвращаемое значение из трассировки - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь получить значение из опционального меню, чтобы при нажатии на «удалить профиль» значение выводилось из «option_changed» и «delete» в базу данных. Это единственный способ решить эту проблему. Кроме того, они могут каким-либо образом правильно оформить мой пользовательский интерфейс, поскольку у меня есть 4 пользовательских интерфейса из той же программы

def prof_menu(): #This UI is run when a button is pressed on the Main frame
    prof_menu=Tk()
    get_info=cursor.execute("SELECT Profile_name FROM profile ")
    profiles=get_info.fetchall()
    print(profiles)  
    def delete_profile():
        sql_delete="DELETE FROM profile WHERE Profile_name=?;"
        cursor.execute(sql_delete,profile)
        connection.commit()

    def option_changed(*args):
        profile=variable.get()
        print(profile)

    #DECLARING WIDGETS

    variable=StringVar(prof_menu)
    variable.set(profiles[0])
    variable.trace("w",option_changed)
    profile_select=OptionMenu(prof_menu,variable,*profiles)    
    button1=Button(prof_menu,text='Create profile',command=create_profile)
    button2=Button(prof_menu,text='Delete profile',command=delete_profile)
    #ALIGNING WIDGETS
    profile_select.grid(row=0,column=0)
    button1.grid(row=0,column=1)
    button2.grid(row=0,column=2)
    prof_menu.mainloop()

main=Tk()
MAIN FRAME
taskname_frame=Frame(main,bg='white',width=200,height=580)
profile_frame=Frame(main,bg='cyan',width=200,height=580)
actions_frame=Frame(main,bg='magenta',width=200,height=580)
status_frame=Frame(main,bg='yellow',width=200,height=580)
#MAIN WIDGET
taskname=Label(main,text='Task')
profile=Label(main,text='Profile')
actions=Label(main,text='Actions')
status=Label(main,text='Status')

create_tasks_button=Button(main,text=' + New Tasks',command=create_task)


#ALIGNING MAIN WIDGETS & FRAME

taskname.grid(row=4,column=1,pady=10)
taskname_frame.grid(row=5,column=1,sticky=SW)

profile.grid(row=4,column=2,padx=10,pady=10)
profile_frame.grid(row=5,column=2)

actions.grid(row=4,column=3,padx=10,pady=10)
actions_frame.grid(row=5,column=3)

status.grid(row=4,column=4,padx=10,pady=10)
status_frame.grid(row=5,column=4,sticky=SE)
create_tasks_button.grid(row=0,column=4,padx=10,pady=10)

for i in range(0,5):
    main.columnconfigure(i,weight=1)
main.mainloop()
...