您已经在运行一个无限循环,因此您不应该尝试添加另一个循环。相反,您可以使用该
after方法使函数被如此频繁地重复调用。在您的情况下,您可以替换为:
def updateStock(self): while True: labelName = str(s) + "Label" stockPrice = get_quote(s) self.labelName = Label(self.myContainer1, text = s.upper() + ": " + str(stockPrice)) self.labelName.pack() time.sleep(10)
… 有了这个:
def updateStock(self): labelName = str(s) + "Label" stockPrice = get_quote() self.labelName = Label(self.myContainer1, text = s.upper() + ": " + str(stockPrice)) self.labelName.pack() self.after(10000, self.updateStock)
这将得到报价,添加标签,然后安排自己在10秒(10,000毫秒)内再次被调用。
但是,我怀疑您想每10秒创建一个新标签吗?最终,窗口将充满标签。相反,您可以创建一次标签,然后在每次迭代中更新标签。例如,
self.label在init中创建一次,然后在循环中可以执行以下 *** 作:
self.labelName.configure(text=s.upper() + ": " + str(stockPrice))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)