Я пытаюсь создать tk.OptionMenu, в котором результаты поискового запроса SQL хранятся в виде параметров в его меню, однако при переходе пользователя на страницу появляется дополнительный набор параметров, идентичный первому.
Я создал пример кода:
Attendance.grid(row=0,column=0,sticky="nsew")
Menu=tk.Frame(root)
Menu.grid(row=0,column=0,sticky="nsew")
EventList=[]
# Connect MySQL
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="#####",
database="scoutsdatabase"
)
#Outputs Connection Object
print(mydb)
mycursor = mydb.cursor()
def CheckAttendance():
return
#Define Trace Var
AttendanceEvent = tk.StringVar()
AttendanceEvent.trace("w", CheckAttendance)
def AttendanceRaiseFrame():
mycursor.execute("SELECT eventname FROM events")
myresults = mycursor.fetchall()
if len(myresults)==0:
tk.messagebox.showinfo("No Events","You Have Not Created Any Events to Take Attendance From.")
return
for i in myresults:
EventList.append(i)
AttendanceOptionMenu = tk.OptionMenu(Attendance, AttendanceEvent, *EventList)
AttendanceOptionMenu.grid(row=2, column=2)
Attendance.tkraise()
return
def Back():
Menu.tkraise()
StartButton=tk.Button(Menu,text="Start",command=AttendanceRaiseFrame)
StartButton.grid(row=1,column=0)
BackButton=tk.Button(Attendance,text="Back",command=Back)
BackButton.grid(row=2,column=0)
Menu.tkraise()
root.mainloop()
Вот пример того, что происходит.
Пользователь запускает программу и встречается с этим интерфейсом:

Пользователь нажимает кнопку «Пуск», перемещает кадр:

См. Параметры, доступные вМеню параметров.

Пользователь нажимает «Назад», возвращается к исходному кадру

Пользователь нажимает кнопку «Пуск», см. Опции, доступные в меню параметров

Далее, если они являются дополнительными или удаляются из имени событияВ колонке я хотел бы, чтобы изменение отображалось в меню параметров.
Например, я удаляю «Кемпинг».В моем меню опций у меня останутся «Узловая привязка», «Боулдер-трип», «Трек-трек».
Если вам нужно просмотреть мою базу данных или таблицы, просто спросите.Заранее спасибо!
PS: Не уверен, почему {} заключает в себе каждый вариант, кроме первого.Это не преднамеренно.