Python 按下按钮后关闭TK窗口(不考虑按钮),同时按钮仍执行其动作
我试图让我的Tk窗口在按下按钮时执行一个功能,它们会自动关闭。我假设在action函数中需要某种destroy()函数,但我不知道如何使用它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
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()
成功了