我的程序中有许多根(帧)。如何为操作系统的退出按钮(面板顶部的 x)设置命令?我想这样做,以便我可以只关闭一个窗格,而不是整个程序。我找到了在框架本身上制作自己的退出按钮的代码,但我不想重置我已经拥有的所有按钮的位置。
编辑:我忘了提到我正在使用 Ubuntu
编辑2:
root3 = Tk()
root = Tk()
root2 = Tk()
这就是我为三帧初始化对象的方式(我没有足够的声誉来发布图像)。我查看了 Toplevel,我认为Bryan Oakley的意思是我应该这样做:
frame1 = Toplevel()
frame2 = Toplevel()
frame3 = Toplevel()
但是,这样做会出现第四个(空)帧,而我需要的三个仍然完好无损,并且我需要的所有小部件都存在。
你能解释一下使用 Tk() 和 Toplevel() 之间的区别以及它们各自的用途吗?
我尝试使用Fredrik 的解决方案,但收到以下错误:
Traceback (most recent call last):
File "GUI_Robot_Control.py", line 823, in <module>
root.protocol("WM_DELETE_WINDOW", root.destroy())
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1630, in wm_protocol
'wm', 'protocol', self._w, name, command)
_tkinter.TclError: can't invoke "wm" command: application has been destroyed
提前致谢!