请问wxpython中textctrl(wx.TE_RICH2)文本控件如何自定义快捷键ctrl-c?

wuwawuwawuwa 2011-06-28 03:36:37
wxpython中使用textctrl(wx.TE_RICH2)文本控件,使用wx.EVT_CHAR绑定获取键盘输入(self.Bind(wx.EVT_CHAR, self.KeyPress)),发现ctrl-c,被系统默认占用,根本不会调用函数KeyPress(),请问如何自定义此类快捷键(还有ctrl-v等)?
...全文
470 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuwawuwawuwa 2011-07-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 angel_su 的回复:]

wx.EVT_CHAR这个是针对可显示的普通字符吧,控制键一般绑定wx.EVT_KEY_DOWN
[/Quote]

使用wx.EVT_KEY_DOWN+wx.EVT_KEY_UP搞定80%,分给你吧!
angel_su 2011-06-29
  • 打赏
  • 举报
回复
wx.EVT_CHAR这个是针对可显示的普通字符吧,控制键一般绑定wx.EVT_KEY_DOWN
上帝无言 2011-06-28
  • 打赏
  • 举报
回复
快捷键-放到菜单里,像普通菜单那样做事件。 不过也不是全局快捷键。
iambic 2011-06-28
  • 打赏
  • 举报
回复
不完整的代码没啥用。跑不起来。
wuwawuwawuwa 2011-06-28
  • 打赏
  • 举报
回复
接受建议,
self.page = wx.TextCtrl(self, int(childid)+100, "", style=wx.TE_MULTILINE|wx.TE_READONLY)

self.page.Bind(wx.EVT_CHAR, self.KeyPress)

def KeyPress(self, evt):
keycode = evt.GetKeyCode()
print keycode

发现ctrl-c 、ctrl-v之类的根本没有调用KeyPress(),如果是ctrl-j之类会打印 10

有思路即可,不知道有没有什么屏蔽掉系统快捷键的机制什么的
iambic 2011-06-28
  • 打赏
  • 举报
回复
如果你能贴段完整的代码(你若不贴,别人要自己浪费时间去从头写),或许别人可以帮你试一下。

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧