thiago_alvarez
@thiago_alvarez
Student

Tkinter Chekbutton, как правильно прописть через Цикл?

разные способы пробовал. Но не знаю как прописать чекбокс через цикл. Это один из вариантов. Всё время возвращается нули в функции func - list1
from tkinter import *

def func():
    print(list1)

root = Tk()
<img src="https://habrastorage.org/webt/5e/01/0f/5e010f17c2712944961819.png" alt="image"/>

list1 = []
dict1 = {
    'key1': 0,
    'key2': 0,
    'key3': 0}

for i in dict1:
    dict1[i] = IntVar()
    Checkbutton(root, text='{} : '.format(i), variable=dict1[i]).pack()
    list1.append(dict1[i].get())

btn1 = Button(root, text='ok', command=func).pack()

root.mainloop()

5e010f686e67b008091844.png
  • Вопрос задан
  • 272 просмотра
Решения вопроса 1
Dr_Elvis
@Dr_Elvis Куратор тега Python
В гугле забанен
У тебя list1 заполняется при инициализации формы, а при инициализации у тебя значения берутся из dict1, а там нули. Тебе нужно после каждого действия над чекбоксом(поставил\снял галку) менять значение в dict1 под соответствующим ключом. А при нажатии кнопки "ок" - выводить значения из dict1 как тебе удобно. тут даже list1 по сути не нужен.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы