Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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 如何在tkinter中重建被破坏的帧?_Python_User Interface_Tkinter - Fatal编程技术网

Python 如何在tkinter中重建被破坏的帧?

Python 如何在tkinter中重建被破坏的帧?,python,user-interface,tkinter,Python,User Interface,Tkinter,我想知道是否有可能重新打包我之前在python tkinter中销毁的帧 这可能吗?如何才能做到这一点?无法重新创建或重新使用已销毁的小部件 发件人: 销毁() 销毁小部件。小部件将从屏幕上删除,并释放与小部件关联的所有资源 这里的重要部分是释放所有相关资源。这包括子窗口小部件(如果窗口小部件有)、样式信息(如颜色,如果您明确设置了颜色),以及几乎所有其他信息。关于小部件的所有信息都消失了。尝试访问已销毁的小部件会出现如下Tcl错误: >>> widget.winfo_pare

我想知道是否有可能重新打包我之前在python tkinter中销毁的帧


这可能吗?如何才能做到这一点?

无法重新创建或重新使用已销毁的小部件

发件人:

销毁()

销毁小部件。小部件将从屏幕上删除,并释放与小部件关联的所有资源

这里的重要部分是释放所有相关资源。这包括子窗口小部件(如果窗口小部件有)、样式信息(如颜色,如果您明确设置了颜色),以及几乎所有其他信息。关于小部件的所有信息都消失了。尝试访问已销毁的小部件会出现如下Tcl错误:

>>> widget.winfo_parent()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python\Python36-32\lib\tkinter\__init__.py", line 1014, in winfo_parent
    return self.tk.call('winfo', 'parent', self._w)
_tkinter.TclError: bad window path name ".!frame"
>widget.winfo_parent()
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“C:\Python\Python36-32\lib\tkinter\\uuuuu init\uuuuuu.py”,第1014行,在winfo\u父级中
返回self.tk.call('winfo','parent',self.\w)
_tkinter.TclError:错误的窗口路径名“!frame”

一旦小部件被销毁,它就无法恢复。事实上,没有理由认为这是必要的。如果您计划使用小部件,不要销毁它。

您不能销毁小部件(框架就是小部件)。一个可能的解决方法是隐藏和取消隐藏它。你可以:

widget.pack_forget() # hide
...
widget.pack(...) # display the widget as usual
如果改为使用
grid
,则更好,因为您可以在使用
grid\u remove
之前的相同节点中取消隐藏或重新显示小部件:

widget.grid_remove() # hide
...
widget.grid() # unhide, places the widget on the last configured node

你为什么不能,你知道的,不毁掉它?这似乎是最简单的解决办法,不是吗?如果它被摧毁了,它就消失了。如果你不想破坏它,就不要破坏它。如果物理定律适用于信息定律,数据既不能被创建也不能被破坏,所以我理解这个问题的意图——尽管有点存在主义。也许你只是想隐藏小部件?请参阅Nae建议。