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