У меня проблема со значениями параметров трассировки, в начале я хочу добавить, что я новичок в python.Как обновить список, основываясь на текущем выборе опции меню tkinter?У меня есть несколько IP-адресов на основе их количества (в коде validIPs), я копирую несколько раз optionmenu с опцией Add / Delete на основе этих выборов, у меня есть список add_delete_list, но в ситуации, когда мне нужно изменить мои выборы, это добавляет меня следующим элементом в списке, но я хочу изменить правильный, несмотря на добавление нового.Например, у меня есть 2 IP-адреса (validIPs = 2), поэтому у меня есть 2 OptionMenu, нажмите сначала выберите, например, «Удалить», а затем «Удалить», я получил список ['Удалить', '' Удалить '] и, когда я хочу изменить, 1 Удалить, чтобы добавитья получил ['Удалить', '' Удалить ',' Добавить '], как изменить его на [' Добавить ',' 'Удалить']?Заранее спасибо!
def add_delete_window():
global worksheet
global validIPs
global Label1
global Label2
global Label3
global add_delete_list
global value_to_add
app2 = Toplevel(app)
var2 = StringVar(app2)
app2.title('ADD or DELETE')
app2.geometry("300x200+30+30")
if validIPs == 0:
if 'Label1' in globals():
Label1.destroy()
app2.destroy()
# print "No IP entered!. Please provide IP address."
Label3 = Label(app, text="No IP entered!Please provide IP address.")
Label3.pack()
return
def save_submit():
wb = load_workbook('demo.xlsx')
ws = wb.active
wb.save('demo.xlsx')
print add_delete_list
for x in range(validIPs):
value_to_add = add_delete_list[x]
print x
wb = load_workbook('demo.xlsx')
ws = wb.active
adding_rows = ws.cell(x+1, 4)
adding_rows.value = value_to_add
wb.save('demo.xlsx')
app2.destroy()
return
for x in range(validIPs):
variable = StringVar()
IP_new = IP_list[x]
prefix_len = len(str(int(netaddr.IPAddress(IP_new))))
label4 = Label(app2, text=IP_new)
label4.config(width=prefix_len)
label4.grid(row=x, column=2, sticky="W")
OptionList = ['Add', 'Delete']
#variable.set(OptionList[0])
def option_changed(value):
add_delete_list.append(value)
return
oMenuWidth = len(max(OptionList, key=len))
Option1=OptionMenu(app2,variable,*OptionList,command=option_changed)
Option1.grid(row=x, column=1, sticky="W")
Option1.config(width=oMenuWidth)
wb = load_workbook('demo.xlsx')
wb.save('demo.xlsx')
Submit = Button(app2, text="Save and Submit", command=save_submit)
Submit.grid(row=x+5, column=3)
button8 = Button(app, text="Add or Delete", width=20,command=add_delete_window)
button8.pack(side='bottom',padx=15,pady=15)
button8.pack(fill=X, anchor = 'w')