簡體   English   中英

對於標簽Python Tkinter中的聲明

[英]For statement in label Python Tkinter

我想顯示來自Facebook字典的所有結果,並使用Tkinter庫在Python中添加標簽。 標簽僅顯示第一條或最后一條記錄。 我正在使用for循環。 這是我的代碼:

def loopInLabel(self, newsfeedData):
    for item in newsfeedData:
        try:
            a = ("Name: " + item['name'] + '\n' + "Message: " + item['message'] + '\n' + "Description: " + item['description'] + '\n')
            return a
        except KeyError:
            pass

並在標簽中顯示

def facebookEvent(self, label):
    newsfeed = F.get('/me/home', {'fields':'name,description,message'})
    newsfeedData = newsfeed["data"]
    label.config(text=self.loopInLabel(newsfeedData))

當我使用正常的print()將其打印到控制台時,一切正常

如果您試圖一次在單個標簽中顯示所有新聞源項目,請不要在循環內return 將項目追加到列表中,完成后返回整個過程。

def loopInLabel(self, newsfeedData):
    lines = []
    for item in newsfeedData:
        try:
            a = ("Name: " + item['name'] + '\n' + "Message: " + item['message'] + '\n' + "Description: " + item['description'] + '\n')
            lines.append(a)
        except KeyError:
            pass
    return " | ".join(lines)

暫無
暫無

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

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