Python 按下按钮后关闭TK窗口(不考虑按钮),同时按钮仍执行其动作

Python 按下按钮后关闭TK窗口(不考虑按钮),同时按钮仍执行其动作,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,我试图让我的Tk窗口在按下按钮时执行一个功能,它们会自动关闭。我假设在action函数中需要某种destroy()函数,但我不知道如何使用它 def Add_results(option): results.append(option) 这就是我要做的 import pandas as pd from tkinter import * import numpy as np from functools import partial 假数据 test = pd.DataFrame(co

我试图让我的Tk窗口在按下按钮时执行一个功能,它们会自动关闭。我假设在action函数中需要某种destroy()函数,但我不知道如何使用它

def Add_results(option):
    results.append(option)
这就是我要做的

import pandas as pd
from tkinter import *
import numpy as np
from functools import partial
假数据

test = pd.DataFrame(columns = ["id", 'sent', "O1", "O2", "O3", "O4"])
results = []

for i in range(5):
    test.loc[i,:] = [i,"this is test "+ str(i), .2, .5, .1, .1]

levels = [["Baby"], ["Dinos"], ["bad"], ["Spoons"]]
### 
这就是我希望它采取的行动。它需要记录按下的按钮,然后删除窗口。我想这就是我的destroy()函数需要用到的地方,但我不知道如何使用它

def Add_results(option):
    results.append(option)
我的窗户制造商

def Window_maker(sent, choices):
    root = Tk()
    topFrame = Frame(root)
    topFrame.pack()
    botFrame = Frame(root)
    botFrame.pack()

    label = Label(topFrame, text =sent)
    label.pack()
    indi= 0
    button1 = Button(botFrame, text = choices[0], command = lambda: Add_results(option = choices[0]))
    button1.pack()
    button2 = Button(botFrame, text = choices[1], command = lambda: Add_results(option = choices[1]))
    button2.pack()
    root.mainloop()
    return(results)
实施

for i in range(test.shape[0]):
    index = get_params(test.iloc[i, 2:])
    choices = [levels[x] for x in index.values]
    pred = Window_maker(test.iloc[i,1], choices)
我找到了解决办法

我将“添加结果”更改为:

def Add_results(option):
    results.append(option)
    root.quit()
成功了