как проверить несколько вариантов (чечбоксов) в Python по tkinter? - PullRequest
0 голосов
/ 09 марта 2020

Я хочу установить (скажем, 3) флажки из 5. Но по моему коду можно выбрать только 1. Следующее l oop определено в функции и отображает все варианты в виде флажков. Мне интересно, как я могу отметить 2 или 3 поля вместо только 1 (после запуска кода).

    for g in range(NOP):
    cb11 = Checkbutton(root, text=str(Players[g]), variable=sp11, onvalue=str(Players[g]), offvalue='', font=('helvetica', 11,'bold'), fg='silver', bg='#263D42')
    cb11.deselect()
    canvas.create_window((W/10)+dis, 75, window=cb11)
    dis += sys.getsizeof(str(Players[g]))

Спасибо за вашу помощь, ребята, Bests

1 Ответ

0 голосов
/ 09 марта 2020

Я нашел ответ. sp11 - это всего лишь 1 переменная, которая определяет флажок для каждого флажка. Соответственно, мне нужно назначить уникальную переменную для каждого флажка. Для этого я должен изменить код, как показано ниже:

    sp11=[]
    for g in range(NOP):
    SV = StringVar()
    sp11.append(SV)
    cb11 = Checkbutton(root, text=str(Players[g]), variable=sp11[g], onvalue=str(Players[g]), offvalue='', font=('helvetica', 11,'bold'), fg='silver', bg='#263D42')
    cb11.deselect()
    canvas.create_window((W/10)+dis, 75, window=cb11)
    dis += sys.getsizeof(str(Players[g]))
...