2024-04-29 22:46:46 发布
网友
我试图清除tkinter中的一个框架,以便可以写入新内容(刷新信息),但我无法做到这一点。我知道这些
frame.destroy() frame.pack_forget() frame.grid_forget()
但是frame.destroy()将完全删除该框架。另外两个也不能给我我想要的结果,我需要的只是清除框架中的所有项目,但框架本身将保持不变。有什么办法吗?
http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/universal.html
w.winfo_children() Returns a list of all w's children, in their stacking order from lowest (bottom) to highest (top).
for widget in frame.winfo_children(): widget.destroy()
将销毁框架中的所有小部件。不需要第二帧。
pack_forget和grid_forget只会从视图中删除小部件,而不会销毁它们。如果您不打算重新使用这些小部件,那么您唯一真正的选择就是使用destroy方法销毁它们。
pack_forget
grid_forget
destroy
要做到这一点,你有两个选择:分别摧毁每一个,或摧毁框架,这将导致其所有的孩子被摧毁。后者通常是最简单和最有效的。
由于您声明不想破坏容器框架,请创建一个辅助框架。将这个副框架作为要删除的所有小部件的容器,然后将这个框架放入要销毁的父对象中。然后,这只是一个破坏这个框架的问题,所有的内部小部件都会随之被破坏。
http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/universal.html
将销毁框架中的所有小部件。不需要第二帧。
pack_forget
和grid_forget
只会从视图中删除小部件,而不会销毁它们。如果您不打算重新使用这些小部件,那么您唯一真正的选择就是使用destroy
方法销毁它们。要做到这一点,你有两个选择:分别摧毁每一个,或摧毁框架,这将导致其所有的孩子被摧毁。后者通常是最简单和最有效的。
由于您声明不想破坏容器框架,请创建一个辅助框架。将这个副框架作为要删除的所有小部件的容器,然后将这个框架放入要销毁的父对象中。然后,这只是一个破坏这个框架的问题,所有的内部小部件都会随之被破坏。
相关问题 更多 >
编程相关推荐