我正在使用wxpython的osx应用程序。当用户单击窗口关闭按钮时,我想将窗口最小化为停靠栏,以便可以从停靠栏中恢复窗口。我怎样才能做到这一点?目前我有问题恢复窗口,因为当用户点击关闭按钮时会被破坏。我怎样才能防止呢?提前如何使用wxpython禁用OSX中的窗口关闭按钮?
2
A
回答
0
你就不能绑定事件EVT_CLOSE
,并尽量减少使用,而不是你的处理器收盘为EVT_ICONIZE
...
def __init__(self):
...
self.Bind(wx.EVT_CLOSE, self.onCloseWindow)
...
def onCloseWindow(self, event):
... do something else instead of closing ...
...
5
方式
感谢我做到这一点是这样的:
在__init__
方法中,为wx.EVT_CLOSE
事件和一个菜单项设置了“真正”退出选项。你需要这个或者你永远不能关闭你的程序。
def OnClose(self,evt):
#Turn closes into hides unless this is a quit application message/or OS shutting down
if evt.CanVeto():
self.Hide()
evt.Veto()
else:
#if we don't veto it we allow the event to propogate
evt.Skip()
def OnMenuExit(self,evt):
#Event handler for exit menu item
self.Close(force=True) #Stops the close handler vetoing it
你也应该确保在__init__
你叫wx.App.SetMacExitMenuItemId([ID OF YOUR EXIT MENU ITEM HERE])
这样在您的船坞上下文菜单路线退出项目到您的正确的菜单句柄。
当窗口关闭时,这会为您提供一个很好的mac-ish hide。您需要意识到应用程序仍在运行,并且可以调用其菜单,因为菜单栏仍然在屏幕的顶部。在菜单事件处理程序中对self.Show()
的战略调用是您的朋友。
当你的应用程序窗口被隐藏时(例如点击dock来重新显示窗口),你也可以很好地利用wx.TaskBarIcon与dock进行良好的交互。
相关问题
- 1. 如何禁用Windows上的Perl/Tk窗口关闭('X')按钮
- 2. Wxpython关闭窗口
- 3. 用窗口'X'按钮关闭窗体
- 4. 禁用Windows窗体关闭按钮
- 5. 如何使用按钮关闭窗口(window.close()不起作用)?
- 6. WPF禁用窗口关闭和最小化Tabbing上的按钮
- 7. 禁用GLFW窗口上的关闭按钮
- 8. HTML按钮关闭窗口
- 9. 如何通过禁用父窗口上的关闭按钮来禁用父窗口
- 10. 使用关闭按钮关闭Opencv窗口
- 11. 关闭窗口按钮gtk_widget_set_sensitive按钮
- 12. 关闭应用程序的窗口(OSX)
- 13. 如何在对话框窗口中关闭关闭按钮?
- 14. 如何在使用后关闭tkinter按钮窗口?
- 15. 如何使用按钮单击关闭模式窗口
- 16. 如何使用触发按钮关闭弹出窗口
- 17. 如何禁用excel关闭按钮?
- 18. DockPanel禁用关闭按钮
- 19. 禁用Bootbox关闭按钮
- 20. Form.GotFocus禁用关闭按钮
- 21. 如何打开链接按钮的弹出窗口并使用弹出窗口中的按钮关闭它?
- 22. 如何绑定到窗口的关闭按钮X按钮
- 23. 如何禁用使用Qt的Alt + F4窗口关闭?
- 24. 如何使用C#编码在Windows窗体中禁用关闭按钮
- 25. 如何通过点击关闭按钮关闭弹出窗口?
- 26. 使用弹出窗口中的按钮关闭Safari弹出窗口
- 27. 使用OpenCV中的关闭“X”按钮关闭视频窗口,Python
- 28. 在窗口内用自定义关闭按钮关闭kendoui窗口
- 29. 按钮上的wxpython刷新窗口按
- 30. 如何在按下按钮的同时用python中的按钮关闭窗口(使用tkinter)后执行命令?