我到处都搜索过,这就是我在这里问的原因。 我的程序显示了一个解析的RSS提要(新闻),最终看起来像这样:
feedShow = feed['entries'][0]['title']
现在,此feedShow
元素是Label稍后显示的文本。代码行中的0
确定要显示的新闻标题。我想每2分钟更改一次+1。
我怎么做?我已经知道了一个更基本的情况,但是在代码中间。作为我的时钟,我使用
import time
from datetime import date
from datetime import datetime
答案 0 :(得分:0)
这样的事情怎么样?代码将每X秒更新self.headlineIndex
(当前设置为1秒)。标题是使用headline = feed['entries'][self.headlineIndex]['title']
抓取的。注意方括号内的self.headlineIndex
而不是零的数字。
try:
import tkinter as tk
except:
import Tkinter as tk
"""Some dummy data in the same format as OP"""
feed = {'entries': [{'title':"US Pres. incompetent"},
{'title':"Sport happened"},
{'title':"Politican Corrupt"}]
}
class App(tk.Frame):
def __init__(self,master=None,**kw):
tk.Frame.__init__(self,master=master,**kw)
self.txtHeadline = tk.StringVar()
self.headline = tk.Label(self,textvariable=self.txtHeadline)
self.headline.grid()
self.headlineIndex = 0
self.updateHeadline()
def updateHeadline(self):
try:
headline = feed['entries'][self.headlineIndex]['title']
except IndexError:
"""This will happen if we go beyond the end of the list of entries"""
self.headlineIndex = 0
headline = feed['entries'][self.headlineIndex]['title']
self.txtHeadline.set(headline)
self.headlineIndex += 1
self.after(1000,self.updateHeadline)
if __name__ == '__main__':
root = tk.Tk()
App(root).grid()
root.mainloop()