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

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

Похожие вопросы