在方法中销毁 tkinter 框架

Destroy tkinter frame within method

这是Python版本3.6.2

下面是我通过 Google New 的 RSS 提要获取新闻的方法。我正在尝试删除框架,以便在再次调用该方法时删除文本并替换为新文本。我将如何移除框架?我想删除它,以便在调用它时只显示 5 篇新闻文章,而不是相互堆叠。我目前有一个底部框架,里面有一个左下框架、一个包含所有新闻文章标签的新闻框架和一个包含所有图像的报纸图像框架。我正在尝试删除新闻框架,因此当我调用 get_news 方法时,它是一个没有标签的新框架。任何帮助,将不胜感激。这是项目的GUI

def get_news():
    try:
        feed = feedparser.parse(google_news_url)

        for post in feed.entries[0:5]:
            newspaper_image = Label(frame_newspaper, bg='black', fg='white')
            newspaper_image.configure(image=photo)
            newspaper_image.icon = photo

            label_news = Label(frame_news, bg='black', fg='white', font=newsFont)
            label_news['text'] = post['title']
            newspaper_image.pack(side=TOP, anchor=W)
            label_news.pack(side=TOP, anchor=W)
        frame_news.after(600000, get_news)

    except Exception as e:
        traceback.print_exc()
        print("Error: %s. Cannot get news." % e)

在方法的开头,您必须获取框架的子项并销毁它们。我是这样做的:

    for widget in frame_news.winfo_children():
        widget.destroy()
    for i in frame_newspaper.winfo_children():
        i.destroy()

这将清除循环期间创建的所有标签。然后当调用循环时,将创建新标签来代替旧标签。