我是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...
答案 0 :(得分:1)
您需要在要添加新数据的窗口小部件上调用update
,以便在每次迭代后刷新并显示新值。这是因为Tk mainloop
通常会捕获窗口小部件上的新信息并对其进行更新,但是当您处于此类循环中时,它将无法在循环结束后进行检查。
如果您将root
定义为Tk()
,则可以调用root.update()
或实际的小部件本身。这将在for
循环结束时发生。