簡體   English   中英

在方法中銷毀 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()

這會清除循環期間創建的所有標簽。 然后,當循環被調用時,會創建新標簽來代替舊標簽。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM