Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Toplevel上存储数据?_Python_Tkinter_Toplevel - Fatal编程技术网

Python 如何在Toplevel上存储数据?

Python 如何在Toplevel上存储数据?,python,tkinter,toplevel,Python,Tkinter,Toplevel,在toplevel窗口中,如果在使用entry widget从用户获得一些输入后关闭toplevel,然后按相同的按钮打开相同的toplevel,是否有办法在entry widget中查看我们从用户处收到的条目 例如,用户在toplevel窗口中输入其姓名,然后关闭toplevel。然后用户打开同一toplevel,我希望它在entry窗口小部件中看到其姓名。尝试以下操作: 将tkinter作为tk导入 last_user_input_entry=“” 上次用户输入按钮=0 def on_clo

在toplevel窗口中,如果在使用entry widget从用户获得一些输入后关闭toplevel,然后按相同的按钮打开相同的toplevel,是否有办法在entry widget中查看我们从用户处收到的条目

例如,用户在toplevel窗口中输入其姓名,然后关闭toplevel。然后用户打开同一toplevel,我希望它在entry窗口小部件中看到其姓名。

尝试以下操作:

将tkinter作为tk导入
last_user_input_entry=“”
上次用户输入按钮=0
def on_closing():
全局条目,顶部,最后用户输入条目,最后用户输入按钮,按钮变量
text=entry.get()
最后一个用户输入项=文本
最后一个用户输入按钮=按钮变量get()
打印(“输入的文本=”,上次用户输入)
打印(“Checkbutton state=,last_user_input_button”)
top.destroy()
def start_top():
全局输入,顶部,按钮
top=tk.Toplevel(根)
协议(“WM_删除_窗口”,打开_关闭)
入口=传统入口(顶部)
entry.pack()
条目。插入(“结束”,最后一个用户输入)
button_var=tk.IntVar()
按钮变量设置(最后一个用户输入按钮)
按钮=tk.Checkbutton(顶部,变量=button\u var)
button.pack()
root=tk.tk()
按钮=tk.按钮(根,text=“打开顶层”,命令=start\u-top)
button.pack()
root.mainloop()

基本上,我们拦截窗口关闭并自行处理。我们还有一个变量,用于存储最后一次用户输入,并在创建后将其放入
tkinter.Entry

看看这个:我想在toplevel关闭时将用户输入保持在toplevel上。我不想打印。当用户再次打开toplevel时,我想让它看到他之前输入的条目。@simonkerike我编辑了我的答案。这样好点了吗?谢谢,很有效!你知道如何对checkbuttons执行此操作吗?@simonkerike你想在主窗口上使用checkbutton而不是按钮吗?不,我是说checkbutton而不是entry widget。当toplevel再次打开时,用户可以看到在关闭toplevel之前所做的选择。