如何从列表中创建复选框并在 jupyter 笔记本中获取所选值



我想在木星笔记本中得到这个结果: 在此处输入图像描述

我尝试了 Tkinter 和 ipywidgets 库,但没有任何适合我

这是糟糕的代码,但它有效,我没有时间写得更好:

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])

结果

最新更新