在我的应用程序中,我想要一个搜索框,可能与wx.SearchCtrl
提供的搜索框一样,包括搜索按钮和取消按钮。我还想知道用户何时按 Up 或 Down ,以便我可以浏览搜索结果。当我使用wx.TextCtrl
进行演示时,我可以像这样绑定事件
self.textbox = wx.TextCtrl(self)
self.textbox.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown, self.textbox)
但是一旦我将textbox
更改为wx.SearchCtrl
,我就再也无法抓住这个事件了。我可以使用wx.SearchCtrl
进行绑定工作,还是必须实现我的textbox
以便它看起来像一个?
如果这很重要,我正在开发Ubuntu(Gnome),该应用程序应该在Linux和Windows上运行良好。
答案 0 :(得分:1)
解决方法似乎是使用EVT_KEY_UP,即
self.textbox.Bind(wx.EVT_KEY_UP, self.OnKeyUp, self.textbox)
然而,这样按键不可重复(您必须释放键才能触发事件)。我还在寻找更好的方法。
答案 1 :(得分:0)
使用其他活动as per the docs。
self.textbox = wx.SearchCtrl(self, style=wx.TE_PROCESS_ENTER)
self.Bind(wx.EVT_TEXT, self.OnKeyDown, self.textbox)