Python中ScrolledText控件,如何删除由window_create()方法添加的控件

小白求助python问题,以下是我的demo,我要做到一个复选框集合(长度会改变)在文本框中显示出来,我选用的是ScrolledText控件,用到的是window_create()方法添加了我的复选框控件,但是我要在提交按钮的时候,输出选中的复选框值集合并且删除掉选中的复选框,现在只是实现了获取到选中复选框的值,并未对选中的复选框进行删除,我尝试过resourceFiles.delete(0.0, END)这个方法想要将内容全部删除,但是还是不行。急!!!!

from tkinter import *
from tkinter.scrolledtext import ScrolledText

root = Tk()
# 设置窗体标题
root.title('demo')
# 设置窗口大小和位置
root.geometry('500x300+570+200')
root.resizable(False, False)  ## 规定窗口不可缩放

resourceFiles = ScrolledText(root, width=20, height=10, state='disabled')
resourceFiles.pack()
li = ['l10123456781.jpg', 'l10123456782.jpg', 'l10123456783.jpg', 'l10123456784.jpg', 'r10123456781.jpg', 'r10123456782.jpg', 'r10123456783.jpg', 'r10123456785.jpg']

DictALLfiles = {}
for i, l in enumerate(li):
    DictALLfiles[i] = l
dic1 = {}

for i in range(len(DictALLfiles)):
# 创建len(persons)个BooleanVar()对象
    dic1[i] = BooleanVar()
    cb = Checkbutton(resourceFiles, text=DictALLfiles[i], variable=dic1[i], bg='white', anchor='w')
    resourceFiles.window_create('end', window=cb)
    # resourceFiles.insert('end', cb)
    resourceFiles.insert('end', '\n')
# 如果某个复选框被选择,dic1[i]对象会捕捉到,并且dic1[i].get()=True

def sele():
    selectFile = []
    for key,value in dic1.items():
        if value.get() == True:
            selectFile.append(DictALLfiles[key])
    print(selectFile)

Button(root, text='提交并删除', command=sele).pack()

root.mainloop()

 

直接设置控件的可见状态,隐藏起来就行了

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632