在For循环中将数据插入到文本小部件中,tkinter python3

时间:2017-06-23 05:30:53

标签: python-3.x tkinter

我是Python + tkinter的新手

我正在尝试使用FOR循环

将值输入到文本小部件中

问题是,文本小部件在For循环执行期间没有显示任何内容。当for循环完成时,它会显示所有值。

如何在for循环期间显示插入的值。

参见最后一行代码

for item in liList:
        listDict = {}
        # get a tag href
        listATag = item.find_all("a", attrs={"class": "product-image"})[0]
        listATagHref = listATag['href']
        listDict["purchaseLink"] = listATagHref

        imgPageRequest = requests.get(listATagHref)
        imgPageData = imgPageRequest.text
        imgPageSoup = BeautifulSoup(imgPageData, 'lxml')
        try:
            productImgDiv = imgPageSoup.find_all('div', attrs={"class": "product-image"})[0]
            imgATag = productImgDiv.find_all('a')[0]['href']
            largeThumbFileName = (imgATag.split('/')[-1])
            tempImgNameList.append(largeThumbFileName)
            print(listATagHref)
            textBox.insert(END,listATagHref+'\n')
            etc...

1 个答案:

答案 0 :(得分:1)

您需要在要添加新数据的窗口小部件上调用update,以便在每次迭代后刷新并显示新值。这是因为Tk mainloop通常会捕获窗口小部件上的新信息并对其进行更新,但是当您处于此类循环中时,它将无法在循环结束后进行检查。

如果您将root定义为Tk(),则可以调用root.update()或实际的小部件本身。这将在for循环结束时发生。