【发布时间】:2013-06-03 13:14:27
【问题描述】:
我的应用程序中有两个窗口,其中一个窗口没有用于设计目的的框架。
带有窗口的框架具有通常的工具栏,带有最小化、恢复、最大化和关闭按钮。
有没有一种方法可以关闭没有框架的窗口,使用带框架的窗口关闭按钮?
【问题讨论】:
我的应用程序中有两个窗口,其中一个窗口没有用于设计目的的框架。
带有窗口的框架具有通常的工具栏,带有最小化、恢复、最大化和关闭按钮。
有没有一种方法可以关闭没有框架的窗口,使用带框架的窗口关闭按钮?
【问题讨论】:
是的。您只需要保存对第二帧的引用。这样的事情就足够了:
self.secondFrame = MySecondFrame()
然后在第一帧的 close 方法中,你可以这样做:
self.secondFrame.Close()
但是,我应该指出,创建没有常用工具栏的框架违反了大多数 OS GUI 准则,用户可能会被该设计决定激怒。
编辑:是的,您可以通过 wx.EVT_CLOSE 捕获用户按下窗口上的“X”按钮时发生的事件。当你这样做时,你需要调用主框架的 Destroy() 方法而不是它的 Close 方法,否则你将陷入无限循环,因为调用 Close() 会触发 EVT_CLOSE。不过,您仍然可以将 Close() 用于第二帧。
【讨论】: