python tkinter 界面更新,如何更新python tkinter wind

博客内容涉及使用Tkinter创建一个不断更新的窗口,展示房屋位置。作者遇到的问题是新窗口只有在关闭当前窗口后才会显示。问题可能与`mainloop()`的使用有关,作者试图使用`.update()`和`.update_idletasks()`来更新窗口,但不清楚如何正确实现。代码中定义了一个Plot类,用于创建和更新Canvas显示房屋。目标是每秒更新一次窗口,而无需关闭并重新打开。
摘要由CSDN通过智能技术生成

我正在尝试每秒更新一个TKinter窗口。所以想法是应该打开一个窗口,让python更新字段,显示更新的窗口。现在的情况是,第二个窗口只在我关闭第一个窗口时显示。我猜这和mainloop()有关。我查看了.update()和.update_idletasks(),但我不知道如何实现它。TKinter是用来展示一个有房子的田野。所以一般来说应该这样做:生成房屋位置(已实现)

带房屋的展示区(已实施)

生成新的房屋位置(已实施)

显示更新字段

这是我现在的密码。我不确定是否需要更新功能。class Plot(tk.Frame):

def __init__(self, master=None):

tk.Frame.__init__(self, master)

self.grid()

def createWidgets(self, list_houses):

houses = list_houses

self.w = tk.Canvas(self, width = field.width*SIZE, height = field.height*SIZE, bg = '#E4E4E4')

...

self.w.grid()

def update(self):

?

#GENERATES FIELD AND HOUSES

...

#PRINT FIRST WINDOW

plot = Plot()

plot.createWidgets(houses)

plot.master.title('map of houses')

plot.mainloop()

# UPDATE FIELD

i = 0

while i < 2:

update = field.update_houses(houses)

#PRINT UPDATED WINDOW, IT SHOULD BE PRINTED IN THE SAME WINDOW!

plot = Plot()

plot.createWidgets(houses)

plot.master.title('map of houses')

i += 1

提前谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值