Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用方法破坏tkinter框架_Python_Python 3.x_Tkinter_Tkinter Layout - Fatal编程技术网

Python 用方法破坏tkinter框架

Python 用方法破坏tkinter框架,python,python-3.x,tkinter,tkinter-layout,Python,Python 3.x,Tkinter,Tkinter Layout,这是Python版本3.6.2 下面是我通过GoogleNew的RSS提要获取新闻的方法。我试图删除框架,以便在再次调用该方法时,删除文本并替换为新文本。我将如何移除框架?我想删除它,所以当它被称为只有5条新闻文章显示,而不是堆叠在对方。我现在有一个底部框架,里面有一个左下角的框架,一个保存所有新闻文章标签的新闻框架,还有一个包含所有图片的报纸图片框架。我正在尝试删除新闻框,因此当我调用get_News方法时,它是一个没有标签的新框。任何帮助都将不胜感激。这是项目的GUI def get_new

这是Python版本3.6.2

下面是我通过GoogleNew的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()

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

我建议您不要破坏和重建框架,只需更新其内容即可。您可以通过调用标签的
.config
方法来更改标签中的文本/图像。或者将StringVar与标签关联,然后
。为该StringVar设置一个新值。您的问题不包括问题。你说了你想要的,但没有解释你需要什么帮助。我想如果我只做5个标签,然后每次循环都更新文本,这会更容易管理,但是会更混乱。目前,我每次循环都会制作5个标签,但它们仍然存在,当我再次循环时,我会再制作5个标签。