Ive vytvořil smyčku comboboxes a jsem připojí volby jsem se do seznamu. K dispozici jsou 3 comboboxes. Seznam musí mít 3 odpovídající prvky. Problém je, že pokud změním názor při výběru a nahradit možnost, seznam (samozřejmě), zvyšuje ve velikosti. V tomto kódu mám 3 možnosti: '!', "více či méně",'špatné'. Chci změnit možnosti při výběru, ale vedení seznamu vždy s 3 unikátní prvky odpovídající počet combobox. Jsem myslel o používání set, ale nefungoval, protože skutečné smyčky je velký.
Potřebuju seznam s jen len z comboboxes s výsledek odpovídá poslední volby, a to nezávisle na počtu volba změny jsem udělal.
Děkuji za jakoukoliv pomoc.
from tkinter import ttk
from tkinter import Tk
from tkinter import Button
root = Tk()
my_heroes = ['Zidane', 'Ronaldo', 'Messi']
position = ['The One!', 'more or less','the bad']
result =[]
def get_combo_choice(event, cmb):
result.append(cmb.get())
print(result)
for index, heroe in enumerate(my_heroes):
var = StringVar()
bestPlayers = ttk.Combobox(root,values=position, textvariable=var, state="readonly")
bestPlayers.grid(row=0 + index, column=1,padx=(15,25))
label = Label(root, text = heroe)
label.grid(row=0 + index, column=0,padx=(15,25))
bestPlayers.bind("<<ComboboxSelected>>",lambda event, cmb=var:get_combo_choice(event, cmb))
button = Button(root, text ="get list of choices", command = callback)
button.grid(row=4, column=0,padx=(15,25))
root.mainloop()
Tiskové roste na tři, ok, ale pak pokračuje... Musím udržet velikost seznam = combobox len a volně aktualizovat hodnoty poslední 3 možnosti na konci.
['!']
['!', "více či méně"]
['!', "více či méně", 'špatné']
['!', "více či méně", 'špatný','!']
['!', "více či méně", 'špatný','!', "více či méně"]
['!', "více či méně", 'špatný','!', "více či méně", '!']
['!', "více či méně", 'špatný','!', "více či méně", '!', "více či méně"]
['!', "více či méně", 'špatný','!', "více či méně", '!', "více či méně", "více či méně"]