Python Tkinter grid\u忘记在调用时不执行

Python Tkinter grid\u忘记在调用时不执行,python,for-loop,grid,tkinter,Python,For Loop,Grid,Tkinter,我正在经历一些我真的不明白的事情。在程序中,我选择一个数据文件,然后我想在窗口中隐藏小部件并从文件中加载数据。但我尝试的每件事都会首先加载文件,然后执行其余的 def LoadProject(): old_project = FD.askopenfilename(filetypes=[("Data file","*.dat")], initialdir = "./Projects/") if old_project: napis.delete(TK.ALL)

我正在经历一些我真的不明白的事情。在程序中,我选择一个数据文件,然后我想在窗口中隐藏小部件并从文件中加载数据。但我尝试的每件事都会首先加载文件,然后执行其余的

def LoadProject():
    old_project = FD.askopenfilename(filetypes=[("Data file","*.dat")], initialdir = "./Projects/")

    if old_project:
        napis.delete(TK.ALL)
        napis.grid_forget()
        button_new.grid_forget()
        button_load.grid_forget()

        data_file = open(old_project,"r")
        for line in data_file:
            line = line.replace("\n","")
            conv = line.split()
            data.append([float(conv[0]),int(conv[1]),float(conv[2]),float(conv[3]),float(conv[4])])

for
循环之前的所有内容都将在循环结束后执行。有人能帮我吗?我真的不理解这种行为。

看起来您需要调用想要忘记的小部件的
更新
方法。这将刷新挂起的GUI更改。发件人:

更新()

处理所有挂起事件,调用事件回调, 完成任何挂起的几何图形管理,并根据需要重新绘制小部件 必要时,调用所有挂起的空闲任务。这种方法应该是 小心使用,因为它可能会导致非常恶劣的比赛条件,如果 从错误的位置调用(例如,从事件回调中调用) 例如,或从可以从 事件回调等)。如有疑问,请使用更新\u idletasks