это плохой код, но он работает, и у меня нет времени писать лучше:
list_check = ['check1', 'check2', 'check3', 'check4']
from tkinter import *
class Checkbar(Frame):
def __init__(self, parent=None, picks=[], side=LEFT, anchor=W):
Frame.__init__(self, parent)
self.vars = []
for pick in picks:
var = BooleanVar()
chk = Checkbutton(self, text=pick, variable=var)
chk.pack(side=side, anchor=anchor, expand=YES)
self.vars.append(var)
def state(self):
return map((lambda var: var.get()), self.vars)
if __name__ == '__main__':
root = Tk()
lng = Checkbar(root, list_check)
#tgl = Checkbar(root, ['English','German'])
lng.pack(side=TOP, fill=X)
#tgl.pack(side=LEFT)
lng.config(relief=GROOVE, bd=2)
def allstates():
print(list(lng.state()))
#return bool_check_list
Button(root, text='Peek', command=allstates).pack(side=RIGHT)
root.mainloop()
for i in range(len(list(lng.state()))):
if list(lng.state())[i]==True:
print(list_check[i])
результат