我正在使用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)後執行命令?