我的代码得到一个计算机名,然后查看文件夹并拉取这些文件夹的名称以创建复选框,然后将它们显示给用户,以便用户可以选择要使用的文件夹。但是,如果您更改计算机名,我希望删除所有当前复选框的名称,并显示新计算机名中的新名称。我尝试过多种方法来销毁(),但都不起作用。我知道这和网格有关。你知道吗
def CreateBoxes(folders):
if len(checkBoxList) != 0: #if there are already checkboxes then delete
for i in folders:
chk.destroy()
count=0
for i in folders: #Creates checkbuttons for each folder received
checkBoxList[i]=IntVar()
chk = Checkbutton(window, text=str(i), variable=checkBoxList[i])
chk.grid(row=0+count,column=4)
count += 1
当
chk.destroy()
执行时,Python不理解chk
所指的内容。您可能在该函数的早期执行中创建了一个名为chk
的变量,但在函数返回后该名称就不存在了。你知道吗一种可能的解决方案是保留对每个复选框的外部引用。然后你就可以在以后访问每一个并销毁它们。你知道吗
相关问题 更多 >
编程相关推荐