Значения в чекбоксе только говорят, что все не проверено? - PullRequest
0 голосов
/ 20 мая 2019

Я пытаюсь настроить определение, чтобы, когда человек выбирает нужные ему флажки, когда он нажимает кнопку сохранения, он печатает независимо от того, отмечен он или нет.Однако все они отображаются как непроверенные.

Используется Tkinter btw

Я пытался использовать onvalue и offvalues ​​в событии checkbutton, но он не работает

def checker():
    global var_list
    var_list = [var1.get(), var2.get(), var3.get(), var4.get(), 
    var5.get(), 
    var6.get(), var7.get(), var8.get(), var9.get(), var10.get()]
for var in var_list:
        if var == 1:
            print('checked')
        else:
            print('unchecked')


var1 = IntVar()
var2 = IntVar()
var3 = IntVar()
var4 = IntVar()
var5 = IntVar()
var6 = IntVar()
var7 = IntVar()
var8 = IntVar()
var9 = IntVar()
var10 = IntVar()
Checkbutton(event_1_window, text= web_1_title[0] + " " + web_1_date[0], 
variable=var1).grid(row=0, sticky=W)
Checkbutton(event_1_window, text= web_1_title[1] + " " + web_1_date[1], 
variable=var2).grid(row=1, sticky=W)
Checkbutton(event_1_window, text= web_1_title[2] + " " + web_1_date[2], 
variable=var3).grid(row=2, sticky=W)
Checkbutton(event_1_window, text= web_1_title[3] + " " + web_1_date[3], 
variable=var4).grid(row=3, sticky=W)
Checkbutton(event_1_window, text= web_1_title[4] + " " + web_1_date[4], 
variable=var5).grid(row=4, sticky=W)
Checkbutton(event_1_window, text= web_1_title[5] + " " + web_1_date[5], 
variable=var6).grid(row=5, sticky=W)
Checkbutton(event_1_window, text= web_1_title[6] + " " + web_1_date[6], 
variable=var7).grid(row=6, sticky=W)
Checkbutton(event_1_window, text= web_1_title[7] + " " + web_1_date[7], 
variable=var8).grid(row=7, sticky=W)
Checkbutton(event_1_window, text= web_1_title[8] + " " + web_1_date[8], 
variable=var9).grid(row=8, sticky=W)
Checkbutton(event_1_window, text= web_1_title[9] + " " + web_1_date[9], 
variable=var10).grid(row=9, sticky=W)


var_list = [var1.get(), var2.get(), var3.get(), var4.get(), var5.get(), 
var6.get(), var7.get(), var8.get(), var9.get(), var10.get()]

Там написано, что все не проверено, даже если я установил флажок в каждой программе.

1 Ответ

0 голосов
/ 20 мая 2019

Похоже, у вас, вероятно, есть ошибка отступа или что-то в этом роде.Я не модифицировал вашу checker функцию, а просто добавил некоторые переменные, которые отсутствовали в вашем коде, и, похоже, все работает нормально.

from tkinter import *



def checker():
    global var_list
    var_list = [var1.get(), var2.get(), var3.get(), var4.get(), 
    var5.get(), 
    var6.get(), var7.get(), var8.get(), var9.get(), var10.get()]
    for var in var_list:
        if var == 1:
            print('checked')
        else:
            print('unchecked')

event_1_window = Tk()

web_1_title = ["title{0}".format(i) for i in range(10)]
web_1_date = ["date{0}".format(i) for i in range(10)]

var1 = IntVar()
var2 = IntVar()
var3 = IntVar()
var4 = IntVar()
var5 = IntVar()
var6 = IntVar()
var7 = IntVar()
var8 = IntVar()
var9 = IntVar()
var10 = IntVar()
Checkbutton(event_1_window, text= web_1_title[0] + " " + web_1_date[0], 
variable=var1).grid(row=0, sticky=W)
Checkbutton(event_1_window, text= web_1_title[1] + " " + web_1_date[1], 
variable=var2).grid(row=1, sticky=W)
Checkbutton(event_1_window, text= web_1_title[2] + " " + web_1_date[2], 
variable=var3).grid(row=2, sticky=W)
Checkbutton(event_1_window, text= web_1_title[3] + " " + web_1_date[3], 
variable=var4).grid(row=3, sticky=W)
Checkbutton(event_1_window, text= web_1_title[4] + " " + web_1_date[4], 
variable=var5).grid(row=4, sticky=W)
Checkbutton(event_1_window, text= web_1_title[5] + " " + web_1_date[5], 
variable=var6).grid(row=5, sticky=W)
Checkbutton(event_1_window, text= web_1_title[6] + " " + web_1_date[6], 
variable=var7).grid(row=6, sticky=W)
Checkbutton(event_1_window, text= web_1_title[7] + " " + web_1_date[7], 
variable=var8).grid(row=7, sticky=W)
Checkbutton(event_1_window, text= web_1_title[8] + " " + web_1_date[8], 
variable=var9).grid(row=8, sticky=W)
Checkbutton(event_1_window, text= web_1_title[9] + " " + web_1_date[9], 
variable=var10).grid(row=9, sticky=W)

button = Button(event_1_window, text="Check", command=checker)
button.grid(row=10,sticky=W)

var_list = [var1.get(), var2.get(), var3.get(), var4.get(), var5.get(), 
var6.get(), var7.get(), var8.get(), var9.get(), var10.get()]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...