У меня есть список (Elenco), и я хочу, чтобы изменить его элементы, когда я нажимаю на RadioButton, но я всегда получить тот же списокхочет изменить элементы списка с помощью радиокнопки
from tkinter import *
root = Tk()
el1 = [1, 2, 3, 4, 5]
el2 = [2, 2, 3, 4, 5]
elenco = []
def E(e):
elenco = e
return elenco
print (elenco)
radio1 = Radiobutton (text = 'r1', value = 1, command = lambda: E (el1)).pack()
radio2 = Radiobutton (text = 'r2', value = 2, command = lambda: E (el2)).pack()
print(elenco)
root.mainloop()
EDIT: я выкладываю здесь весь новый код. Я переписываю всю программу, потому что у меня были проблемы со старым кодом.
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = [7, 8, 9]
class mainWindow(Frame):
def __init__(self, parent=None):
Frame.__init__(self, parent)
self.pack(expand=YES, fill=BOTH)
# Canvas on which buttons will be put:
mainCanvas = Canvas (self, height = 650, width = 900, scrollregion = (0, 0, 900, 6000), bg = 'white')
# Scrollbar to see all buttons (they could me also more then 60):
sbar = Scrollbar(self, command = mainCanvas.yview)
mainCanvas.config(yscrollcommand = sbar.set)
sbar.pack(side=LEFT, fill=Y)
mainCanvas.place(x = 0, y = 0)
#radiobuttons from which I'll choose the list
radio1 = Radiobutton(self, text = 'lis1', value = 1).place (x = 920, y = 150)
radio2 = Radiobutton(self, text = 'lis2', value = 2).place (x = 920, y = 170)
radio3 = Radiobutton(self, text = 'lis3', value = 3).place (x = 920, y = 190)
if __name__ == '__main__':
root = Tk()
root.title("main")
root.geometry("1130x650+100+10")
app = mainWindow(root)
root.mainloop()
В этом коде есть не кнопки, но если вы запустите программу, вы увидите белый холст, они будут там. Там также будет EntryBox, где вы сможете написать имя элемента (-s) (или его часть), и вам будут предоставлены кнопки, соответствующие этому имени. Но если вы хотите переключиться по списку на другой? поэтому, если я хочу кнопку для элемента 4, которая находится во втором списке, а не в первом? это кажется бесполезным, но на самом деле в главном списке будет 720 элементов, и все остальные списки будут частью этого. Списки соответствуют регионам, а основной список - один со всеми ними. Итак, если мне нужны элементы, начинающиеся с буквы «а», но я хочу ее из определенного списка (региона), а не извне?
Если у вас есть лучшие идеи, тогда выберите список с помощью радиобарабана, я буду использовать его. Моя проблема заключается в перемещении по списку в другой
Ваша программа в целом беспорядочна. Функция и команды обратного вызова являются бессмысленными. Я написал это по-другому. Ждем ваших отзывов. –
Я действительно не понимаю, что вы пытаетесь сказать. «Если вам не нравится писать по-английски, попросите друга подтвердить это для вас». -http: //stackoverflow.com/help/how-to-ask –