我的应用程序中有两个窗口,其中一个窗口没有用于设计目的的框架。
带有窗口的框架具有通常的工具栏,带有最小化、恢复、最大化和关闭按钮。
有没有一种方法可以关闭没有框架的窗口,使用带框架的窗口关闭按钮?
是的。您只需要保存对第二帧的引用。像这样的东西就足够了:
self.secondFrame = MySecondFrame()
然后在第一帧的 close 方法中,您可以执行以下操作:
self.secondFrame.Close()
然而,我应该注意到,创建一个没有常用工具栏的框架违反了大多数 OS GUI 指南,用户可能会被该设计决定激怒。
编辑:是的,您可以通过 wx.EVT_CLOSE 捕捉用户按下窗口上的“X”按钮时发生的事件。当你这样做时,你需要调用主框架的 Destroy() 方法而不是它的 Close 方法,否则你将陷入无限循环,因为调用 Close() 会触发 EVT_CLOSE。不过,您仍然可以将 Close() 用于第二帧。