如何停止使用 Cmd+C 关闭 wxPython 对话框

How to stop wxPython dialogs closing with Cmd+C

我正在开发一个多平台应用程序,用户可以在其中打开一个模式对话框来输入文本。但是,在 macOS 上,Command+C 不是复制文本,而是关闭模式。

这只发生在 .ShowModal() 中,而不是 .Show() 中。重点是什么,或者 wx.Dialog.

的类型似乎并不重要

我假设这是 Linux 系统的遗留问题,因为 Ctrl+C 不会做同样的事情(尽管它确实在 stc.StyledTextCtrl... 中添加了 unicode ETX)

如何阻止它并允许正常的文本复制操作?

我正在使用 wxPython 4.0.1。

事实证明这是一个非常古老的错误,尚未修复。

wxPython: https://github.com/wxWidgets/Phoenix/issues/1134

wxWidgets: http://trac.wxwidgets.org/ticket/15678

解决方法是避免使用 wxStdDialogButtonSizer、and/or 而不使用 wx.ID_CANCEL 作为按钮 ID。