【发布时间】:2020-06-17 14:10:16
【问题描述】:
我在这里创建检查按钮:
var = []
k=0
for i in results:
var.append(IntVar())
Checkbutton(frame, text = i[0], variable = var[k], wraplength=500).pack()
k+=1
在这里,我已经获得了每个复选按钮的变量,并想打印被选中的复选按钮的文本:
# function is called when a button is clicked
def delHist():
for i in range(len(var)):
if var[i].get()==1: # checking if the checkbutton is checked
# want to print the text in the checkbutton here
如何仅使用变量打印该复选按钮的文本?
编辑: 这里的问题似乎是相似的: How to get the text from a checkbutton in python ? (Tkinter)
我尝试将Checkbutton(frame, text = i[0], variable = var[k], wraplength=500).pack() 分配给列表ch[p],以便在迭代时将其分配给一个新对象。当我在函数下添加print ch[p].get() 时,出现错误。
我也试过print ch[p].get('text'),但我得到了错误
TypeError: "get()" 接受 1 个位置参数,但给出了 2 个
【问题讨论】:
-
@TheMaker 我已经编辑了这个问题来解释为什么它对我不起作用。
-
这能回答你的问题吗? stackoverflow.com/questions/48436622/…
-
您可以使用
StringVar代替IntVar并为每个复选按钮设置onvalue=i[0]和offvalue=''。然后如果var[i].get()返回了一些东西,那么checkbutton被选中,你可以打印内容了。
标签: python python-3.x tkinter tkinter.checkbutton